discord.js - Discord bot:使用拼写错误的命令时响应“未知命令”
问题描述
我想让我的 discord.js 机器人响应
未知命令,使用 c!help 获取可用命令”当执行类似 c!hep(拼写错误)或未实现的不同类型命令(如 c!youtube)或只是像 c!rgoiw 这样的随机字母时。
如果他们的消息与任何可用的命令不匹配,基本上只是一个响应。
我没有任何特定的代码,我只是使用const PREFIX = 'c!';
withlet 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
}
})
解决方案
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
默认条款;如果提供,则如果表达式的值不匹配任何 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`);
}
})
推荐阅读
- typeahead - TypeAhead:错误消息而不是建议数据
- node.js - 如何使用“npm”包以编程方式“npm install”
- python - 在 Python 中使用字典构建二叉搜索树
- docker - 尝试连接到 Docker 守护程序套接字时拒绝获得权限的配置不保存
- r - 如何将轴放在图表后面?
- php - 在 php 中请求 Yahoo OAuth 令牌的问题
- react-native - 如何在 Algolia Instant Search 中设置默认过滤器选项
- python - 简单游戏上的 Python 简单得分(点)系统
- python - 修复 PyTorch 神经网络中不正确的维度
- ios - OpenTok 会话卷更改不适用于 MPVolumeView