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

如何让Discord机器人发送新成员自动欢迎消息?异常代码如何修复?

问题排查与修复

代码错误原因

  • 存在冗余调用:guildMemberAdd 事件返回的 member 对象本身已内置用户私信方法,不需要从 member.guild.users 中二次查询对应用户
  • 版本兼容问题:discord.js v12 及以上版本已废弃 .get() 同步获取用户的方法,改用异步的 .fetch() 方法,同时未开启对应权限意图也会导致事件无法触发
  • 缺少异常处理:如果用户开启了「禁止来自服务器成员的私信」设置,直接调用发送方法会抛出异常,导致程序崩溃

修复步骤

  1. 开启权限意图
    进入Discord开发者平台,找到你的机器人对应应用,进入「Bot」设置页面,开启 Server Members Intent 权限,否则服务端不会推送成员入群事件。

  2. 调整代码逻辑

// 适用于discord.js v13/v14版本
bot.on('guildMemberAdd', async member => {
  try {
    // 直接调用member对象的send方法发送欢迎私信
    await member.send("Heyo!");
  } catch (err) {
    // 可选:捕获用户关闭私信权限的异常,避免程序崩溃
    console.log(`向用户 ${member.user.tag} 发送欢迎消息失败:${err.message}`);
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 12:24:05