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

使用discord.js实现新成员加入服务器发送欢迎消息功能异常求助

discord.js 新成员欢迎消息不触发修复方案

1. 开启必要的网关意图

discord.js v12及更高版本要求必须开启特权网关意图才能接收成员加入相关事件:

  • 进入Discord开发者平台对应应用的「Bot」设置页
  • 开启Privileged Gateway Intents分类下的Server Members Intent开关
  • 初始化客户端时必须声明对应的意图参数,示例代码:
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMembers // *必须添加该意图才能接收guildMemberAdd事件
  ]
});

2. 适配新版discord.js的API写法

你当前使用的channels.get()是v11版本的废弃写法,v12及以后版本需要通过cache层获取频道,同时建议增加非空判断避免报错,修正后的事件代码如下:

client.on('guildMemberAdd', member => { 
  // 替换为你的实际欢迎频道ID,ID为字符串格式
  const welcomeChannel = member.guild.channels.cache.get('your_channel_id');
  if (welcomeChannel) {
    welcomeChannel.send("Welcome");
  }
});

3. 检查机器人权限

确认你的机器人在目标服务器满足权限要求:

  • 拥有「查看频道」、「发送消息」的全局权限
  • 欢迎频道没有单独设置屏蔽机器人发送消息的权限规则
  • 机器人账号处于正常可用状态,没有被服务器封禁或限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:45:03