javascript - 如何在 discord.js 上造成延迟?
问题描述
我已成功发出 ping 命令,计算我的机器人的 ping。但我希望它有一个延迟,大约在它发送结果之前 2 秒。
这是我的代码:
module.exports = {
name: 'ping',
description: "shows the bot/'s ping",
execute(message, args) {
message.channel.send('`ping is being calculated...`').then(msg => {
const ping = msg.createdTimestamp - message.createdTimestamp;
msg.channel.send('`bot\'s` ping: ' + ping + "`ms`")
})
}
}
解决方案
使用 setTimeout(() => {code}, timeMs) 可以做到这一点;
module.exports = {
name: 'ping',
description: "shows the bot/'s ping",
execute(message, args) {
message.channel.send('`ping is being calculated...`').then(msg => {
setTimeout(() => {
const ping = msg.createdTimestamp - message.createdTimestamp;
msg.channel.send('`bot\'s` ping: ' + ping + "`ms`")
}, 2000)
})
}
}
推荐阅读
- ecmascript-6 - “在严格模式下使用 const”:“node_modules/[sub_folder]”如何编译为 ES5 而不是 ES6?
- android - 在 alertDialog 框中使用 getUid() 从 firebase 检索数据
- c++ - 在 MacOS 上构建 conan / cmake 项目时的相对 RPATH
- java - 使用 charAt 和 while 循环 Java 在字符串中查找字母
- wpf - 如何在导航历史记录中查找 WPF Page 以防止再次打开该页面
- php - mysqli_stmt_close() 期望参数 1 为 mysqli_stmt,布尔值
- apache - Gzip 没有正确压缩我的网站
- java - Spotify docker客户端无法在一次操作中启动容器并执行命令?
- debugging - 汇编调试器如何操作寄存器?
- formal-methods - 如何在没有量词的情况下用 Z 表示法表示唯一属性?