【发布时间】:2021-04-18 23:23:23
【问题描述】:
我在 discord.js 中遇到计时器命令问题。我想检查用户是否输入了有效时间作为参数:
case 'timer':
let time = args[1];
if(!time) {
return message.reply("<:what:784258557067526174> Please specify a time!");
}
message.reply(`Timer started for ${ms(ms(time))}`)
setTimeout(function(){
message.reply('your timer has ended')
}, ms(time));
break;
代码的工作方式在图像的第一个示例中可见。如果用户使用有效时间键入命令,机器人将启动一个计时器并以“计时器已启动 %time%”作为响应。
但我希望它在输入无效输入时响应特定消息,如图中的第二个示例所示:
【问题讨论】:
-
您必须验证您的论点是否适合您提出的格式。在确定它是否适合之后,您可以回复错误消息。
-
你为什么要在彼此内部调用两次
ms()?` -
第一个
ms()转换为毫秒,第二个转换回人类可读的格式。
标签: javascript node.js discord.js