You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用setTimeout实现Discord机器人响应延迟及自定义正在输入状态

实现方案

你需要结合Discord.js内置的正在输入触发方法和setTimeout定时器完成需求,修改后的代码如下:

client.on('messageCreate', async (Message) => {
  if (Message.content.includes("I don't know")) {
    // 触发「正在输入」状态,会自动显示你设置的机器人名称
    await Message.channel.sendTyping()
    // 自定义延迟时长,单位为毫秒,3000即延迟3秒后回复
    setTimeout(() => {
      Message.reply({
        content: "Do we need to go over the mechanics again?"
      })
    }, 3000)
  }
})

补充说明

  • 可自行调整setTimeout的第二个参数修改延迟时长,1000毫秒对应1秒
  • sendTyping()触发的正在输入状态默认最长持续10秒,如果你设置的延迟超过10秒,需要在延迟中途再次调用Message.channel.sendTyping()刷新状态

内容的提问来源于stack exchange,提问作者Wick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:36:08