使用Node.js运行Discord机器人时遇Unexpected end of input错误求助
解决Discord机器人「Unexpected end of input」语法错误
嘿,我仔细瞅了你的代码和报错信息,这个Unexpected end of input错误本质是代码里有好几处语法问题,导致JavaScript解析器读到最后都没找到该有的闭合结构,咱们一步步来修正:
问题点梳理
- 事件绑定语法写错:你写的
client.on('message'), msg => {把逗号放错了位置,client.on()的第二个参数是回调函数,得把逗号放在括号内部,正确写法是client.on('message', msg => {。 - 变量名不匹配:回调函数的参数是
msg,但你里面用了message.author.kick,得改成msg.author.kick才能正确引用消息对象。 - 大括号没闭合:你的代码里
if语句的闭合括号、message事件的回调大括号都没正确收尾,这是导致“意外输入结束”最关键的原因——解析器找不到代码的结束标记,自然报错。
修正后的完整代码
const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); client.on('message', msg => { if (msg.content === 'ree') { msg.author.kick("FURRY SLUR"); } }); client.login('token');
错误原因补充
SyntaxError: Unexpected end of input这种报错几乎都是因为代码的语法结构不完整,比如缺失大括号、括号不匹配、字符串没闭合这类问题,下次遇到可以先检查代码的括号配对情况,一般都能快速定位问题~
内容的提问来源于stack exchange,提问作者Thin Mint
相关产品推荐
相关产品推荐

