【发布时间】:2018-05-16 21:40:03
【问题描述】:
我想创建一个在命令被调用后运行的命令 这是我的代码:
ownerID = "12042";
if (message.content.startsWith(config.prefix+"afk on")) {
afk = true;
if (afk == true) {
message.channel.send("Turned on AFK mode");
if (message.content.includes(config.ownerID)) {
message.reply(`X is away. Try again later.`);
}
}
}
if (message.content.startsWith(config.prefix+"afk off")) {
afk = false;
if (afk == false) {
message.channel.send("Turned off AFK mode");
}
}
我尝试在这里发出“AFK 模式”命令,如果我发送afk on,它会在有人输入12042 时回复X is away。
使用该代码,我根本没有得到任何答案,但如果我成功了
if (message.content.includes(config.ownerID)) {
message.reply(`X is away. Try again later.`);
}
它会毫无问题地回复,但我们都知道它会一直回复
【问题讨论】:
-
在您的顶级 if 语句中,您将变量分配给它们各自的值并立即检查该值。您不需要在这里进行分配,因为您知道您的表达式是真实的并且没有替代执行流程。另外,你为什么使用字符串而不是布尔值?
-
@NoMoreQuestions 啊,我的代码实际上是布尔值,因为我是 stackoverflow 的新手,在发布此内容时有点困惑,所以我重新编写了代码。请问代码应该是什么样子的?
-
这是您的
message事件处理程序的全部内容吗?afk的范围是什么? -
您在第一个区块中遇到的问题到底在哪里?您的预期输出究竟是什么?
-
@AuxTaco 这不是全部内容,我只想让机器人运行
if (message.content.includes(config.ownerID)) { message.reply("X is away. Try again later."); }仅当我运行afk on并且如果我运行afk off它将不会运行
标签: javascript node.js bots discord discord.js