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

DiscordJS 机器人无法响应私信问题排查求助

Discord机器人无法响应私信的排查与修复

以下是几个可能导致你的机器人无法处理私信的原因及解决办法:

1. 开发者门户未启用特权Intent

MessageContent属于特权网关Intent,仅在代码中声明是不够的,必须在Discord开发者后台手动开启:

  • 进入你的Discord应用后台,切换到「Bot」页面
  • 找到「Privileged Gateway Intents」板块,开启「Message Content Intent」权限并保存

2. Intent写法版本不兼容

若使用Discord.js v14及以上版本,必须用GatewayIntentBits枚举而非字符串声明Intent,字符串形式在高版本中可能失效。修改客户端初始化代码如下:

const { Client, GatewayIntentBits, Partials } = require('discord.js');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMembers,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.GuildMessageReactions,
        GatewayIntentBits.MessageContent,
        GatewayIntentBits.DirectMessages
    ],
    partials: [Partials.Channel, Partials.Message]
});

3. 未明确识别私信频道类型

在messageCreate事件中添加频道类型判断,确保精准处理私信:

const { ChannelType } = require('discord.js');

client.on('messageCreate', async (message) => {
    if (message.channel.type === ChannelType.DM) {
        console.log('收到私信:', message.content);
        // 在这里添加翻译逻辑
    }
});

4. 检查机器人隐私权限

确认用户未屏蔽机器人,且用户Discord隐私设置允许接收私信(若双方在同一服务器),否则机器人可能无法正常接收私信。

修改后的完整示例代码

const { Client, GatewayIntentBits, Partials, ChannelType } = require('discord.js');
const { OpenAI } = require('openai');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMembers,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.GuildMessageReactions,
        GatewayIntentBits.MessageContent,
        GatewayIntentBits.DirectMessages
    ],
    partials: [Partials.Channel, Partials.Message]
});

client.on('ready', () => {
    console.log('The bot is online.');
});

client.on('messageCreate', async (message) => {
    if (message.channel.type === ChannelType.DM) {
        console.log('收到私信:', message.content);
        // 执行翻译操作
    } else {
        console.log('收到公会消息:', message.content);
    }
});

// 替换为你的机器人Token
client.login('YOUR_BOT_TOKEN');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 14:32:15