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

Discord.js v13 触发guildMemberAdd事件无法发送欢迎消息问题求助

Discord.js v13 欢迎消息发送失败问题解决

问题场景

在Discord.js v13环境下开发新成员入群欢迎消息功能,新成员加入服务器后预设的欢迎消息没有按照预期发送,相关实现代码如下:

实现代码

index.js 核心事件监听代码

client.on('guildMemberAdd', (member) => {
  let chx = db.get(`welchannel_${member.guild.id}`);
  if (chx === null) {
    return;
  }

  client.channels.cache.get(chx).send(`Welcome to ${message.guild.name}`);
});

channel.js 欢迎频道配置命令代码

module.exports = {
  name: "channel",
  description: "Help Command",
  category: "Help",
  execute(client, message, args, Discord) {
    const db = require("quick.db")

    let channel = message.mentions.channels.first() //mentioned channel
    
    if(!channel) { //if channel is not mentioned
      return message.channel.send("Please Mention the channel first")
    }

    db.set(`welchannel_${message.guild.id}`, channel.id)
    
    const embed = new Discord.MessageEmbed()
        .setColor('#b5b5b5')
        .setTitle(`Channel set: ${channel.name} `)

    message.channel.send({ embeds: [embed] });
  }
}

问题根因

从Discord.js v13版本开始,成员相关的特权事件需要显式声明对应意图才可触发,本次问题核心是客户端初始化时没有添加GUILD_MEMBERS意图标识,导致guildMemberAdd事件无法被监听到,欢迎消息逻辑自然无法执行。
另外代码存在一处隐藏问题:在guildMemberAdd事件回调中没有message这个变量,想要获取服务器名称需要改为${member.guild.name},否则就算事件触发也会抛出变量未定义的报错。

修复方案

  • 初始化Client实例时添加GUILD_MEMBERS意图,示例代码:
const { Client, Intents } = require('discord.js');
const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.GUILD_MEMBERS, // 新增这一行
    // 其他你需要的意图
  ]
});
  • 修正index.js事件回调中的变量错误:
    将client.channels.cache.get(chx).send(Welcome to ${message.guild.name});
    改为client.channels.cache.get(chx).send(Welcome to ${member.guild.name});
  • 确认Discord开发者后台对应应用的Privileged Gateway Intents选项中,已经开启了Server Members Intent开关,否则即使代码加了意图也无法正常接收事件。

感谢UltraX提供的问题排查帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:15:05