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

Discord.js 启用GUILD_PRESENCES后setPresence无法正常生效问题

故障根因

你使用的是Discord.js v13及以上版本,setPresence方法的入参结构相比旧版本有不兼容更新,你当前使用的是旧版本参数结构,因此活动配置不生效。

错误明细:

  • 旧版本单对象activity字段已废弃,替换为支持配置多个活动的activities数组字段
  • type属性属于单个活动的配置项,不能与activities、status平级放置
  • 额外校验项:你已在代码中声明GUILD_PRESENCES意图,需同步确认Discord开发者平台对应机器人的特权网关意图配置中,已开启Presence Intent开关,否则状态相关配置也会失效。

修复后代码

const { Client, Intents } = require('discord.js');
const bot = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_PRESENCES] });

bot.on('ready', () => {
    console.log(`Logged in as ${bot.user.tag}!\n`);
    bot.user.setPresence({ 
        activities: [{
            name: 'LOADING ... ',
            type: 'WATCHING'
        }],
        status: 'idle'
    })
})

后续排查

如果修改后仍然无法正常显示活动,检查机器人在对应服务器是否有设置状态的权限,同时确认没有其他业务逻辑覆盖此处的在线状态配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:45:02