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



基本上,我已经使用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;
}
})

discord.js教程介绍了一个与您尝试的问题极其相似的问题。我建议您查看一下。我具体链接的页面正在做一件与你非常相似的事情,但如果你还没有这样做,那么值得通读一下整个页面。一般来说,我会在您建立args的位置上方包含以下行。

if(!message.content.startsWith(PREFIX((返回;

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

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

最新更新