语法错误:使用Let的意外标识符
节点版本 16
不和谐 API 版本 12
对不起各位,我又来了!所以这是我使用 Discord Bot 遇到的 SyntaxError:
/home/container/settings/configuration.js:82
let stats = {
^^^
SyntaxError: Unexpected identifier
at Object.compileFunction (node:vm:355:18)
at wrapSafe (node:internal/modules/cjs/loader:1022:15)
at Module._compile (node:internal/modules/cjs/loader:1056:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
at Module.load (node:internal/modules/cjs/loader:972:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Module.require (node:internal/modules/cjs/loader:996:19)
at require (node:internal/modules/cjs/helpers:92:18)
at Object.<anonymous> (/home/container/index.js:7:82)
at Module._compile (node:internal/modules/cjs/loader:1092:14)
/home/container/settings/configuration.js:82
let stats = {
^^^
SyntaxError: Unexpected identifier
at Object.compileFunction (node:vm:355:18)
at wrapSafe (node:internal/modules/cjs/loader:1022:15)
at Module._compile (node:internal/modules/cjs/loader:1056:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
at Module.load (node:internal/modules/cjs/loader:972:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Module.require (node:internal/modules/cjs/loader:996:19)
at require (node:internal/modules/cjs/helpers:92:18)
at Object.<anonymous> (/home/container/index.js:7:82)
at Module._compile (node:internal/modules/cjs/loader:1092:14)
这是导致问题的文件:
最后,这是错误中引用的索引部分:
module.exports = {
BOT_SETTINGS: {
BOT_TOKEN: 'X',
YT_API_KEY: 'X',
COMMAND_PREFIX: '?',
EMBED_COLOR: 'BLUE',
MUTE_ROLE: '841079005892968458',
BANNED_WORDS: ['retard', 'nigger'],
BYPASS_ROLES: ['802711739006582846'],
BANNED_LINKS: ['www.', '.com', '.net', '.gov', '.co', '.uk', '.gg', '.live'],
BYPASS_LINKS_ROLES: ["802711739006582846"],
Member_Count_Channel: '809569469030596648',
Guild_ID: '802700035544317972',
Kick_On_Warnings: true,
Warnings_Until_Kick: '5',
Time_Muted: '1m',
LOCALE: 'en',
Roles_On_Join: ['803388467588628490']
},
VERIFICATION: {
Enabled: false,
Verify_Channel: 'CHANNELID',
Verify_Role: 'ROLEID',
Role_To_Remove: 'ROLEID'
},
USER_DMS: {
Enabled: true,
Dm_Category: '809570230611083275',
Dms: 'new-dm-{user}',
Dm_Channel_Name: 'new-dm-{user}',
View_Dmchannels_Roles:['802711739006582846']
},
Ping_Prevention: {
Enabled: true,
Enabled_Types: 'user',
Max_Channel_Pings: '5',
Max_Role_Pings: '5',
Max_User_Pings: '5',
Max_Pings: '10',
Punishment: 'kick',
Bypass_Roles: ['802711739006582846']
},
LOCKDOWN_KICK: {
Enabled: true,
Kick_Message: '{server} is currently in LOCKDOWN MODE! We have kicked you for now, please try joining back later {member}. '
},
LEVELING_SYSTEM: {
Enabled: true,
Remove_XP_On_Leave: true,
Level_Up_Message: '{user} has just reached level {level}!',
Level_Up_Channel_ID: '856158284338692096'
},
LOGGING: {
Report_Channel: '848548626804375562',
Ban_Channel_Logs: '848548626804375562',
Unban_Channel_Logs: '848548626804375562',
Kick_Channel_Logs: '848548626804375562',
Warn_Channel_Logs: '848548626804375562',
Mute_Channel_Logs: '848548626804375562',
Lock_Channel_Logs: '848548626804375562',
Ticket_Channel_Logs: '848548626804375562',
Moderation_Channel_Logs: '848548626804375562',
Server_Updates: '848548626804375562',
Voice_Updates: '848548626804375562'
},
TICKET_SYSTEM: {
TICKET_CATEGORY: 'CATEGORY_ID',
SUPPORT_TEAM_ROLES: 'ROLEID',
},
GREETING_SYSTEM: {
Enabled: true,
Welcome_Channel: '808727656378925056',
Welcome_Type: 'card',
Welcome_Cards_Image_Link: 'https://i.ibb.co/VmGzHKv/wwwwwwwwwwwwwwww.png',
Welcome_Message: 'Welcome {member} to the server, You are member {joinPosition}!',
Welcome_Embed: {
title: '{member.username} has just joined the server!',
description: 'Welcome {member} to the server, You are member {joinPosition}!',
color: 'blue'
}
let stats = {
serverID: 'X',
totalUsers: "858369874110971914",
onlineUsers: "858370257797513236",
onlineStaff: "858370529902985227"
}
client.on('guildMemberAdd', member => {
if(member.guild.id !== stats.serverID) return;
client.channels.cache.get(stats.total).setName(`Total Users: ${member.guild.memberCount}`);
client.channels.cache.get(stats.member).setName(`Online Users: ${member.guild.members.cache.filter(m => m.presence.status === 'online').size}`,
client.channels.cache.get(stats.member).setName(`Online Users: ${member.guild.members.cache.filter(m => m.roles.cache.has ('802711739006582846') && m.presence.status === 'online').size}`))
})
client.on('guildMemberRemove', member => {
if(member.guild.id !== stats.serverID) return;
client.channels.cache.get(stats.total).setName(`Total Users: ${member.guild.memberCount}`);
client.channels.cache.get(stats.member).setName(`Online Users: ${member.guild.members.cache.filter(m => m.presence.status === 'online').size}`,
client.channels.cache.get(stats.member).setName(`Online Users: ${member.guild.members.cache.filter(m => m.roles.cache.has('802711739006582846') && m.presence.status === 'online').size}`))
})
}
}
非常感谢任何建议/帮助!我认为将 Stats 添加到第 7 行会修复它,但它没有,因此将其保留以供参考。
回答
在对象字面量上(GREETING_SYSTEM在这种情况下)只能由名称:值对组成,您最初是这样做的,但随后您只是开始用 声明一个变量let,即unexpected identifier. 相反,您只需要继续使用名称:值对:
GREETING_SYSTEM: {
Enabled: true,
Welcome_Channel: '808727656378925056',
Welcome_Type: 'card',
Welcome_Cards_Image_Link: 'https://i.ibb.co/VmGzHKv/wwwwwwwwwwwwwwww.png',
Welcome_Message: 'Welcome {member} to the server, You are member {joinPosition}!',
Welcome_Embed: {
title: '{member.username} has just joined the server!',
description: 'Welcome {member} to the server, You are member {joinPosition}!',
color: 'blue'
},
stats : {
serverID: 'X',
totalUsers: "858369874110971914",
onlineUsers: "858370257797513236",
onlineStaff: "858370529902985227"
}
...
}
如果需要声明变量或调用其他函数,则需要使用函数或类构造而不是对象字面量。