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

如何让我的机器人间隔一定时间自动发送随机生成的消息?

问题修复方案

原代码问题

  • 语法错误:wait(10)被错误写入SendMessage方法的入参对象中,不符合JS对象语法规范,会直接触发解析报错
  • 方法调用错误:JS原生无同步阻塞的wait方法,直接调用会报未定义错误,且当前写法无法实现两条消息的间隔发送逻辑
  • 需求匹配错误:硬编码固定消息调用不符合「随机发送消息」的要求

修复代码

场景1:间隔10秒依次发送两条指定消息

// 发送第一条消息
bot.SendMessage({
  to: channelID,
  message: "I like turtles!"
});

// setTimeout第二个参数单位为毫秒,10秒对应10000
setTimeout(() => {
  bot.SendMessage({
    to: channelID,
    message: "I like ponies!"
  });
}, 10000);

场景2:每隔固定时间随机发送消息(满足核心需求)

// 把所有要随机发送的消息存入数组,可自行扩展内容
const messagePool = [
  "I like turtles!",
  "I like ponies!",
  "I like cats!",
  "I like programming!"
];

// 每30秒随机从消息池取一条发送,可自行调整间隔时长,注意不要触发Discord发信频率限制
setInterval(() => {
  const randomIndex = Math.floor(Math.random() * messagePool.length);
  bot.SendMessage({
    to: channelID,
    message: messagePool[randomIndex]
  });
}, 30000);

注意事项

  • 如果你使用的机器人框架中SendMessage为异步方法,调用前需要加await,且外层需要包裹在async函数内
  • 发信间隔不要设置过短,避免触发Discord的反垃圾机制导致账号功能受限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:27:01