检查某个频道的命令是否为运行

Check if command is ran in certain channel

我目前有这个作为我的命令:

bot.on('message', function (message) {
  if (message.content == '!register') {
    message.member.send("Registered!");
    let memberRole = message.member.guild.roles.find("name", "Verified");
    message.member.addRole(memberRole);
  }
});

我想要它所以这个命令只能在一个名为注册的文本频道中 运行(如果需要,我有频道 ID)。

如果您只有一个名为 registration 的文本通道,请使用以下代码:

bot.on('message', function (message) {
  if (message.content == '!register' && message.channel.name.toLowerCase() === 'registration') {
    message.member.send("Registered!");
    let memberRole = message.member.guild.roles.find("name", "Verified");
    message.member.addRole(memberRole);
  }
});

如果您有两个名为 registration 的文本频道,我会检查频道的 ID。这可以通过以下代码完成:

bot.on('message', function (message) {
  if (message.content == '!register' && message.channel.id === 'YOUR CHANNEL ID') {
    message.member.send("Registered!");
    let memberRole = message.member.guild.roles.find("name", "Verified");
    message.member.addRole(memberRole);
  }
});

顺便说一下,您不必使用message.member 来接收guild 对象。你可以简单地做 message.guild!