Discord.js Discord Bot:SyntaxError:输入意外结束
Posted
技术标签:
【中文标题】Discord.js Discord Bot:SyntaxError:输入意外结束【英文标题】:Discord.js Discord Bot: SyntaxError: Unexpected end of input 【发布时间】:2020-07-08 17:47:28 【问题描述】:msg.guild.channels.find(c => c.id == "693088078168064051").send(tempVars("absence_review"))
.then(function(message)
const approved = message.react("✅")
.then(() => message.react("❌"))
.catch(error => );
const filter = (reaction, user) =>
return ['✅', '❌'].includes(reaction.emoji.name) && user.id === message.author.id;
;
message.awaitReactions(filter,
max: 1
)
.then(collected =>
const reaction = collected.first();
if (reaction.emoji.name === '✅', reaction.user.bot === false)
message.reply('reacted with yee.');
else if (reaction.emoji.name === '❌', reaction.user.bot === false)
message.reply('reacted with nah dude.');
)
.catch(collected =>
message.reply('you didnt react idiot');
);
这是我目前用于该命令的代码。我正在执行此命令的目的是记录缺勤,将其发送到另一个有反应的频道,让某人对其做出反应,如果他们对复选标记做出反应,它将把它发送回最初发送命令的频道,但是如果他们对十字架做出反应,最初发出命令的人会被机器人 DM 。最后几件事很容易,但我的主要问题是反应。我已经做出了反应,但代码的最后一点似乎破坏了它。 'const filter' 位之后的所有内容。如果我删除所有这些,那么它只会发送带有反应的嵌入消息,但反应不会做任何事情。但是,如果我保留它。它甚至不会发送消息,我收到一条错误消息,指出“SyntaxError:输入意外结束”现在我已经搜索了大约一个小时,让朋友帮忙,但不幸的是没有任何帮助.如果有人可以提供帮助,将不胜感激,在此先感谢。
【问题讨论】:
【参考方案1】:我又花了 3 个小时在我的迷你地牢中解决了这个问题,并得到了一些工作。
msg.guild.channels.find(c => c.id == "693088078168064051")
.send(tempVars("absence_review")).then(function(message)
message.react("✅")
.then(() => message.react("❌"))
.catch(error => );
);
const filter = (reaction, user) =>
return ['✅', '❌'].includes(reaction.emoji.name) && user.id === message.author.id;
;
message.awaitReactions(filter,
max: 1
)
.then(collected =>
const reaction = collected.first();
if (reaction.emoji.name === '✅', reaction.user.bot === false)
message.reply('reacted with yee.');
else if (reaction.emoji.name === '❌', reaction.user.bot === false)
message.reply('reacted with nah dude.');
)
.catch(collected =>
message.reply('you didnt react idiot');
);
这是一个固定版本,虽然最后一点不一定有效,但我会尝试自己解决。
【讨论】:
【参考方案2】:虽然我看不到整个代码,但我相信您的错误不是来自上面的代码。语法错误“输入意外结束”通常是由于代码中某处未完成一个或多个括号,即);
- 通常在您的 main.js 文件中的“client on”函数之后。浏览整个代码并确保正确表示每个括号。也许将您的代码放入 code.vb - 它会检测并指出您上面的语法错误。
让我知道进度。
【讨论】:
reaction emoji 的名字可以完美地工作, :white_check_mark: 也可能工作,但建议使用 Unicode 字符,它们在过去对我来说非常好用。至于其余代码,我忘了实际指出(抱歉)我正在使用 Discord Bot Maker,这是我在“运行脚本”操作中制作的脚本,所以错误就在那里。.then(() => message.react("❌"))
我不完全理解这一行,这是正确的语法吗?我强烈建议将您的代码放入 Visual Studio Code - 它会发现您的错误。以上是关于Discord.js Discord Bot:SyntaxError:输入意外结束的主要内容,如果未能解决你的问题,请参考以下文章
Discord bot 更改前缀命令出错 (discord.js)
Discord Bot 不播放音频 discord.js v13
Discord Bot 使用 Discord.js 在 X 秒后离开 VC
使用 Discord.js 使用 Discord Bot 将语音频道中的所有人静音