我想让discord.js机器人响应
未知命令,请在执行c!hep(拼写错误)之类的命令时使用c!help,或执行其他未实现的命令(例如c!youtube)之类的命令,或者将诸如c! rgoiw。
如果他们的消息与任何可用命令都不匹配,则基本上只是一个响应。
我没有任何特定的代码,我只是将const PREFIX = 'c!';
与let args = message.content.substring(PREFIX.length).split(" ")
一起使用,并将所有命令设置在switch(args[0]){
块中。
我对编码一无所知,到目前为止,我所做的一切只是写出来的自我解释,但我不知道从头开始编写该怎么做。
还没有在线上看到有关未知命令响应的任何线程,因此我认为这可能是不可能的。 谢谢
const PREFIX = 'c!';
bot.on('message', message=>{
let args = message.content.substring(PREFIX.length).split(" ")
switch(args[0]){
case 'example':
break;
//Code to respond to the prefix with no matching case
}
})
答案 0 :(得分:2)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
默认子句;如果提供该子句,则在expression的值与任何case子句都不匹配的情况下执行此子句。
示例:
switch (expr) {
case 'Oranges':
console.log('Oranges are $0.59 a pound.');
break;
case 'Mangoes':
case 'Papayas':
console.log('Mangoes and papayas are $2.79 a pound.');
// expected output: "Mangoes and papayas are $2.79 a pound."
break;
default:
console.log('Sorry, we are out of ' + expr + '.');
}
如上所示,如果没有匹配项(转换为您的用例-如果未识别命令),则执行在default
下找到的命令
换句话说,您的代码应该是
switch(args[0]){
case 'example':
break;
default: console.log(`Unknown command, use c!help for available commands`);
}
})