ping命令有效,但当我尝试使用ban命令时,它什么都不做。它甚至不会登录到控制台。我试过了discord.js@12.5.3和discord.js@12.3.1.我也试过在另一台计算机上运行我的代码,但仍然无法运行。
这是我的代码:
const Discord = require("discord.js");
const client = new Discord.Client();
client.on('message', message => {
if (message.content === '!ping') {
message.channel.send('Pong!');
} else if (message.content === '!getBanned') {
const member = message.mentions.members.first();
if (!member) {
console.log('member not found');
} else {
member.ban();
}
}
});```
这是因为在代码的检查message.content
是否等于'!getBanned',您使用了相等运算符===
。所以现在消息的整个内容必须完全是!getBanned
,所以当您使用例如!getBanned @Wumpus
时,消息的内容是不相等的。有很多方法可以解决这个问题,但现在你应该只使用string.startsWith()
函数:
if (message.content.startsWith("!getBanned") {
// put all the code that gets the member mention and bans the member here
}