Discord.js client.on

时间:2018-04-15 20:32:27

标签: node.js bots discord discord.js

我的代码是这样的,我是否还必须拥有client.on('message', message => { if (message.content.startsWith(prefix + "ping")) { message.channel.send('Pong! <:Pingsock:433019097005948938>'); } }); client.on('message', message => { if (message.content.startsWith(prefix + "avatar")) { message.reply(message.author.avatarURL); } });

{{1}}

2 个答案:

答案 0 :(得分:1)

如果您的问题是每个命令应该有一个事件,绝对不是 机器人可以“订阅”的事件数量有限制,您只需使用几个命令即可使用所有事件。而且这对性能来说也很糟糕,因为它会触发发送的每条消息的所有事件 您应该使用一个事件并检查使用了哪个命令。

client.on("message", message => {
    if(message.content.startsWith(prefix + "ping")){
        message.channel.send('Pong! <:Pingsock:433019097005948938>');

    } else if (message.content.startsWith(prefix + "avatar")) {
        message.reply(message.author.avatarURL);

    }
}

答案 1 :(得分:0)

你可以这样做:

        client.on('message', message => {

  if (message.content.startsWith(prefix + "ping")) {
    message.channel.send('Pong! <:Pingsock:433019097005948938>');
  }



  if (message.content.startsWith(prefix + "avatar")) {
    message.reply(message.author.avatarURL);
  }

  // You can add more commands here without client.on

  }); // this ends that client.on what is at the start, so don't add command below this

我认为这应该有效。在没有client.on的情况下,很容易就像在每个命令一样。