Discord.js中的前缀问题(包括.toUpperCase())

时间:2020-03-21 05:19:36

标签: api bots discord discord.js

基本上,我已经使用discord.js库开发了一个机器人已有几个星期,最近又遇到了一个小而关键的问题。本质上,当我声明参数时,我也是这样做的,以便使用.toUpperCase()将消息内容(message.content)大写。从本质上讲,不管您输入的是哪种前缀(符号方式),程序都会将其全部视为有效。

仅作为示例:!help-应该可以,但是,如果我输入.help,它也将被视为有效。

无论如何,这是代码。我感谢所有帮助!

bot.on('message', message =>{
    let args = message.content.toUpperCase().substring(PREFIX.length).split(" ");
    const sender = message.member;

    switch(args[0])
    {
    case 'HELP':
            message.reply("I've sent you some documentation on all the commands that you can use...").then(d_msg => {d_msg.delete(3000); });
            message.delete(3000);
            const attachment = new Attachment('./UtilityBot_Documentation.txt') 
            message.author.send('[Education] Bot - Documentation');
            message.author.send(attachment);
            break;
    }
})

1 个答案:

答案 0 :(得分:0)

discord.js教程涵盖了与您尝试执行的操作极为相似的问题。我建议您检查一下。我具体链接的页面与您做的事情非常相似,但是如果您还没有这样做,则值得对整个内容进行通读。通常,我将在您建立args的上方添加以下行。

如果(!message.content.startsWith(PREFIX))返回;

我在这里说的是如果消息不是以前缀开头,请停止运行,直到发送新消息。我可能会遗漏一些东西,但是一定要看一下教程。真的写得很好。

https://discordjs.guide/creating-your-bot/commands-with-user-input.html#basic-arguments