javascript - 机器人如何在三秒或一段时间后编辑其消息
问题描述
我有这段代码,但我不完全确定机器人在编辑它的消息之前将如何等待 3 秒。
message.channel.send("Test").then((msg) => {
msg.edit("test1")
msg.edit("test2")
});
解决方案
在 JavaScript 中有两个涉及时间的主要函数。存在setTimeout
和setInterval
。setTimeout
允许在设定的时间后调用指定的函数,这就是我相信您正在尝试做的事情。每隔指定的毫秒setInterval
重复调用一个函数。n
如果您希望机器人在将消息编辑为“test2”之前等待 3 秒,
message.channel.send("Test").then((msg) => {
msg.edit("test1")
setTimeout(msg.edit("test2"), 3*1000); // 3secs as 3*1000 as it's in milliseconds
})
此代码将导致机器人发送消息“Test”,立即将其编辑为“test1”,3 秒后编辑为“test2”。
推荐阅读
- c# - 如何处理 Google OAuth2 身份验证中的授权错误?
- amazon-web-services - 如何通过 AWS SES 向多个收件人发送电子邮件
- python - 在线程 django-main-thread 中使用 StatReloader Exception 监视文件更改:
- azure - 锁定期限到期后如何更新锁定?使用 Azure 服务总线会话队列
- java - 如何将字符串转换为数字
- django - 取指定表的值,制作菜单表的字段
- javascript - 使用单个脚本将数据从一张纸传输到另一张纸
- html - 将更改事件绑定到动态创建的 div
- git - 如何管理 git 存储库中的 pom.xml 版本?
- python - 如何根据其他字段值的条件逻辑设置模型布尔字段