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

Discord.js中.getMember()与.getUser()返回null的问题求助

Discord.js斜杠命令中getMember()和getUser()返回null的解决方法

问题场景

我开发了一个Discord.js机器人,其中定义了removerole斜杠命令,代码如下:

const { SlashCommandBuilder } = require("discord.js");

module.exports = {
    data: new SlashCommandBuilder()
        .setName('removerole')
        .setDescription("Remove a role from a user. Officer use only.")
        .addUserOption(option =>
            option.setName('target')
                .setDescription("The user whose role should be removed.")
                .setRequired(true))
        .addChannelOption(option =>
            option.setName('gamechannel')
                .setDescription("The channel that is associated with the role to be removed.")
                .setRequired(true)),


    async execute(interaction) {
        await interaction.deferReply({ ephemeral: true });

        //collect member
        const member = interaction.options.getMember('target');
        console.log(`member is ${member}`);
        console.log(`user is ${interaction.options.getUser('target')}`);
        
        //rest of function...
    }
}

执行命令后控制台输出:

member is null
user is null

后续依赖这些变量的代码因读取null值报错,即使已将斜杠命令选项设为必填,getMember()和getUser()仍返回null。

原因分析

出现这个问题的核心原因是机器人未启用Guild Members意图权限。Discord的API要求机器人必须明确申请并启用该意图,才能获取服务器成员和用户的相关数据,否则无法正确读取interaction.options中的用户/成员对象。

解决方案

需要分两步完成配置:

  1. 在Discord开发者门户启用Guild Members意图

    • 登录Discord开发者平台,进入你的机器人应用页面
    • 切换到「Bot」标签页
    • 在「Privileged Gateway Intents」区域,找到「Server Members Intent」并开启它
  2. 在机器人客户端初始化时添加对应的意图
    修改机器人登录的代码,在Client实例化时包含GatewayIntentBits.GuildMembers:

    const { Client, GatewayIntentBits } = require('discord.js');
    const client = new Client({ 
        intents: [
            GatewayIntentBits.Guilds, // 基础服务器意图,通常已存在
            GatewayIntentBits.GuildMembers // 添加这个意图
            // 其他你需要的意图...
        ] 
    });
    

完成以上两步后,重新启动机器人,getMember()和getUser()就能正常返回对应的对象了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:35:18