discord.js - 使用后删除命令用法
问题描述
我刚使用后试图删除.ping,而答案“pong”仍然存在。
下面的代码是我能想到的,但它似乎不起作用,谁能纠正我的错误?
client.on('message', msg => {
if (msg.content === '.ping') {
message.delete(1000);
msg.reply('pong!');
}
});
解决方案
就像评论中提到的@NullDev 一样,您应该使用msg
而不是message
因为那是您声明变量的内容。
其次,是你如何设置timeout
功能。在您的代码中,您将其设置为:
message.delete(1000);
但是,如果您参考discord.js
文档,它会向您展示删除超时消息的正确方法,如下所示:
message.delete({ timeout: 1000 });
这是因为超时是options
参数的一个属性,因此您必须使用花括号。
但是为了更好的衡量,我建议您添加一个catch
方法以避免您的代码崩溃,如下所示:
message.delete({ timeout: 1000 })
.catch(console.error);
笔记:
从discord.js
v13 及更高版本开始,该delete
方法将不接受任何options
,因此您必须改为:
setTimeout(() => message.delete(), 1000);
推荐阅读
- tensorflow.js - 无法使用由 tensorflowjs 转换器创建的模型
- python - RGB和L模式的PIL转换区别
- kotlin - Kotlin 脚本 eval 和 Java 11 在 DSL 中具有内联函数
- node.js - 在额外功能中使用会话值保护控制器功能
- javascript - 我想在通过 C# 控制器方法下载文件时显示加载程序
- c# - 服务在没有 OnStop() 的情况下停止
- ansible - 在ansible playbook任务中shell命令执行失败时如何仅打印stderr_lines
- r - 从包中外部设置函数的默认参数
- ios - 在 UIView.animate 期间忽略 withDuration
- django - 使用 Docker 时如何在生产环境中设置 ALLOWED_HOSTS Django 设置?