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

如何修改代码让Discord机器人每分钟给特定用户发消息?

解决方法

原代码的问题在于用forEach遍历了服务器所有成员,还为每个成员单独创建了定时任务,所以会给所有人发消息。要改成只给特定用户发,直接定位目标用户即可,不用遍历所有成员。

修改后的代码示例

// 替换成你要发送消息的特定用户ID
const targetUserId = "123456789012345678";

// 获取目标用户对象
const targetMember = guild.members.cache.get(targetUserId);

if (targetMember) {
  // 每分钟给目标用户发送消息
  setInterval(() => {
    targetMember.send('hello')
      .catch(error => {
        if (message) message.channel.send(`**dm closed**`);
      });
  }, 60000);
} else {
  if (message) message.channel.send(`**目标用户不在当前服务器中**`);
}

关键修改说明

  • 移除遍历所有成员的forEach逻辑,通过用户ID直接定位目标成员
  • 仅创建一个定时任务,避免重复执行造成资源浪费
  • 增加用户存在性判断,防止因目标用户不在服务器触发报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:21:28