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

Discord.js V14机器人报错:ReferenceError: client is not defined

Discord.js V14 解决 ReferenceError: client is not defined 错误

错误原因

你代码里直接使用了client对象,但没有提前创建并初始化Discord.js的Client实例,同时Discord.js V14版本强制要求指定网关意图(Gateway Intents)才能正常运行客户端。

修复方案

按以下步骤修改代码:

  1. 从discord.js中导入核心必需模块
  2. 创建Client实例并配置必要的网关意图
  3. 确保client对象在调用事件前已定义

修正后的代码示例

const discordTranscripts = require('discord-html-transcripts');
const { QuickDB } = require('quick.db')
const db = new QuickDB;
// 导入Discord.js V14所需核心模块
const { Client, GatewayIntentBits } = require('discord.js');

// 创建Client实例,配置网关意图(根据功能需求增减)
const client = new Client({
    intents: [
        GatewayIntentBits.Guilds, // 处理服务器交互的基础意图,必须开启
        GatewayIntentBits.GuildMembers, // 如需处理成员相关逻辑添加
        GatewayIntentBits.GuildMessages // 如需处理消息相关逻辑添加
    ]
});

client.on("interactionCreate", async interaction => {
    if (interaction.isSelectMenu()) {
        let choice = interaction.values[0]
        const member = interaction.member
        const guild = interaction.guild   
        // 你的后续业务代码...
    }
});

// 最后添加机器人登录逻辑,替换为你的机器人Token
client.login('你的机器人Token');

关键注意点

  • 网关意图需根据机器人实际功能按需添加,GatewayIntentBits.Guilds是处理交互事件的最低要求
  • 确保机器人Token正确,且机器人已被邀请到目标服务器并配置了对应权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:58:09