node.js - 只接受数字 discord.js
问题描述
我想在这段代码中消除的是程序只对数字做出反应,而不是其他字符,然后它说“不是一个合适的值”有人能帮我解决这个问题吗?
例如:
- 用户:-clearr
- Bot:您要删除多少条消息?
- 用户:asd
- Bot:asd 消息已成功删除!
这段代码:
module.exports = {
name: 'clearr',
description: "Clear messages!",
async execute(client, message, args) {
if(!args[0]) {
let filter = m => m.author.id === '365113443898097666'
message.channel.send(`How many messages do you want to delete?`).then(() => {
message.channel.awaitMessages(filter, {
max: 1,
time: 10000,
errors: ['time']
})
.then(message => {
message = message.first()
message.channel.bulkDelete(message);
message.channel.send (`\`${message} message\` successfully deleted!`)
.then(message => {
message.delete({ timeout: 5000 })
})
.catch(console.error);
})
})
}
}
}
非常感谢您的回复!
解决方案
你必须使用Number.isNaN(+var)
:
if(Number.isNaN(+args[0])) return message.reply('Please, specify how many messages do you want to delete!')
推荐阅读
- clojure - 无法在 emacs 中的 Cider 中启动 figwheel REPL
- sql - SQL 调节 - 导入数据
- prometheus - kubelet 在普罗米修斯目标中失败
- ruby-on-rails - 在 Rails 中使用与本地和远程相同的形式进行过滤
- laravel - Vuejs/laravel 图片上传接收空数组
- c# - 将方面应用于 .NET Core 2.0 中的多种类型
- sql - 将列添加到现有的红移表
- python - BeautifulSoup 在 HTML 中找不到元素类
- authentication - Zend Framework 中模块之间的身份验证
- office-js - 加载 Office 加载项 (Office Online Server) 自动加载