这很奇怪,但是由于某种原因,我的机器人使用了不同的前缀。我的意思是,在代码的开头部分,我将前缀设置为“-”。但是,当键入“ _,> 、?等”时,机器人的命令也会执行。请注意,我在代码中使用了命令处理程序,因此可能是一个问题。这是完整的代码:
const Discord = require('discord.js');
const { Client, Collection } = require ('discord.js');
const client = new Discord.Client();
const token = 'TOKEN';
const PREFIX = '-';
const fs = require('fs');
client.commands = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFiles){
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
}
client.on('ready', () =>{
console.log('Compass is online');
client.user.setActivity('GameCore', {type: 'WATCHING'}).catch(console.error);
})
client.on('message', message=>{
let args = message.content.substring(PREFIX.length).split(" ")
switch(args[0]){
case 'help':
client.commands.get('help').execute(message, args);
break;
case 'kick':
client.commands.get('kick').execute(message, args);
}
})
client.login(token);
如果您需要其他任何信息,请随时告诉我。
任何帮助将不胜感激。 谢谢!
答案 0 :(得分:1)
在邮件事件的开始处添加一个if (!message.content.startsWith(PREFIX)) return;
。