Node.js Discord.js client.on

Node.js Discord.js client.on,node.js,bots,discord,discord.js,Node.js,Bots,Discord,Discord.js,我的代码是这样的,我是否也必须有客户端。在('message',message=>{上,还是不 client.on('message',message=>{ if(message.content.startsWith(前缀+“ping”)){ message.channel.send('Pong!'); } }); client.on('message',message=>{ if(message.content.startsWith(前缀+“化身”)){ message.reply(messa

我的代码是这样的,我是否也必须有
客户端。在('message',message=>{
上,还是不

client.on('message',message=>{
if(message.content.startsWith(前缀+“ping”)){
message.channel.send('Pong!');
}
});
client.on('message',message=>{
if(message.content.startsWith(前缀+“化身”)){
message.reply(message.author.avatarURL);
}
});

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

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);

    }
}
client.on(“message”,message=>{
if(message.content.startsWith(前缀+“ping”)){
message.channel.send('Pong!');
}else if(message.content.startsWith(前缀+“化身”)){
message.reply(message.author.avatarURL);
}
}
您可以像这样做:

        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('message',message=>{
if(message.content.startsWith(前缀+“ping”)){
message.channel.send('Pong!');
}
if(message.content.startsWith(前缀+“化身”)){
message.reply(message.author.avatarURL);
}
//您可以在此处添加更多命令,而无需client.on
});//这将结束该客户端。在开始时,不要在下面添加命令

我认为这应该行得通。没有client.on,每个命令都可以轻松执行。

当客户端收到新的传入消息时,
消息
事件将被触发。正如安德烈所说,一个事件有多个侦听器是没有用的,并且会消耗比需要更多的ram。