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

如何解决discord.js v14机器人自定义活动状态不显示问题?

Discord机器人自定义活动状态无法显示的解决办法

使用ActivityType.Custom设置自定义状态时,不能通过name字段指定显示文本,必须遵循Discord API的特殊结构要求:

  • name字段必须固定为"Custom Status",不能修改
  • 实际要显示的自定义文本需要放在state字段中

修改后的可用代码如下:

const { Client, GatewayIntentBits, ActivityType } = require ('discord.js');
const client = new Client ({ intents: [GatewayIntentBits.GUILDS] });

client.on ('ready', () => {
  console.log (`Logged in as ${client.user.tag}!`);
  client.user.setPresence ({
    activities: [
      {
        name: "Custom Status", // 此值必须固定
        type: ActivityType.Custom,
        state: "你的自定义状态内容" // 这里替换成你要显示的文本
      },
    ],
    status: 'online',
  });
});

client.login ('token');

如果需要给自定义状态添加emoji,可以额外增加emoji字段:

{
  name: "Custom Status",
  type: ActivityType.Custom,
  state: "正在摸鱼",
  emoji: { name: "🐟" } // 可以用emoji名称,也可以指定id
}

之所以之前的代码不生效,是因为Discord把ActivityType.Custom对应的活动视为用户手动设置的“自定义状态”,这类活动的结构和游戏、流媒体等预定义类型完全不同,必须严格按照API要求的字段来配置。

内容的提问来源于stack exchange,提问作者SoRRoW.DaDa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:44:56