我的Discord机器人使用不同的前缀

时间:2020-11-10 16:37:36

标签: javascript node.js discord.js

这很奇怪,但是由于某种原因,我的机器人使用了不同的前缀。我的意思是,在代码的开头部分,我将前缀设置为“-”。但是,当键入“ _,> 、?等”时,机器人的命令也会执行。请注意,我在代码中使用了命令处理程序,因此可能是一个问题。这是完整的代码:

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

如果您需要其他任何信息,请随时告诉我。

任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:1)

在邮件事件的开始处添加一个if (!message.content.startsWith(PREFIX)) return;