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。最后几件事很容易,但是我的主要问题是反应。我已经做出了反应,但是代码的最后一部分似乎破坏了它。 “常量过滤器”位之后的所有内容。如果我删除了所有这些内容,那么它将只发送包含响应的嵌入消息,但是响应不会执行任何操作。但是,如果我保留它。它甚至都不会发送消息,我会收到一条错误消息,指出“ SyntaxError:输入意外结束”。 。如果有人可以帮助,将不胜感激,在此先感谢。
尽管我看不到整个代码,但我相信您的错误并非来自上面的代码。语法错误“输入意外结束”通常是由于未在代码中的某个位置完成一个或多个括号(即)};
)引起的-通常在main.js文件中的“ client on”函数之后。仔细阅读整个代码,并确保正确显示每个括号。也许将您的代码放入code.vb中-它可以检测并指出语法错误,例如您上面的错误。
让我知道进度。
我在迷你地牢中又花了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');
});
这是它的固定版本,尽管最后一点不一定奏效,我会尝试自己解决其余问题。