【问题标题】:Check if command is executed检查命令是否执行
【发布时间】:2019-03-11 16:02:38
【问题描述】:

我的命令限制系统有问题。
消息“您没有权限”只会运行一次(当您没有角色时)。我知道如果您不设置 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;))

亲切的问候, 鲁本

【问题讨论】:

  • 我猜您需要为所有用户设置 checkrole 变量!除非你只有一个。如果您在服务器中使用此代码,并且希望在用户受到限制的情况下只向用户发送一次消息,您可以将 checkrole 变量保存在每个用户的数据库中!

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


【解决方案1】:

通常如果你想使用命令你需要一个前缀。一旦你选择了它,你就知道消息的内容 (Message.content) 将以prefix + command 开头。所以你可以这样写:

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

虽然这可行,但还有更有效的方法来使用命令,尤其是当您需要使用参数等时...
阅读this guide 可能会对您有所帮助:它涵盖了基础知识,但也涵盖了更高级的内容;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多