检查命令是否已执行

时间:2018-10-06 09:25:50

标签: javascript node.js if-statement var discord.js

我的命令限制系统有问题。
消息“您没有权限”将仅运行一次(当您没有该角色时)。我知道,如果您不设置var(在这种情况下为checkrole),则代码将执行一次,但是,我不知道如何检查命令的执行时间。

所以我可以做这样的事情:

if  (command === ' ') {
    checkrole = false
}

兴趣代码:

if (!message.member.roles.some(r => ["someone"].includes(r.name.toLowerCase())) && checkrole === false) {
    checkrole = true;
    return message.channel.send('Sorry, but you do not have the **permissions** to do that.');
  }

(已定义var checkrole-它以false(var checkrole = false;开始)

亲切的问候, 鲁本

1 个答案:

答案 0 :(得分:0)

通常,如果要使用命令,则需要前缀。选择该选项后,您将知道消息(Message.content)的内容将以prefix + command开头。所以你可以这样写:

// Assuming that:
// var prefix = '-'; for example
if (message.content.startsWith(prefix + "mycommand")) {
  checkrole = false;
}

尽管这行得通,但是有更有效的方式使用命令,尤其是在您需要使用参数等的情况下。
this guide可能会为您提供帮助:它涵盖了基础知识,也涵盖了更高级的内容;)