如何在discord.js中设置无WATCHING/STREAMING等类型标识的机器人状态
discord.js Bot自定义状态去除活动类型前缀相关说明
结论
该需求无法实现,限制来自Discord官方规则,和discord.js库的能力无关。
具体原因
- 活动类型前缀是Discord客户端的原生渲染逻辑:你调用API设置Bot状态时,必须选择官方开放的活动类型枚举值,可选范围包括PLAYING、WATCHING、STREAMING、LISTENING、COMPETING,客户端会自动根据你传入的类型在状态文本前拼接对应前缀,该渲染逻辑不存在API修改入口。
- 普通用户账号可以使用的无前缀自定义状态,对应的是
CUSTOM类型活动,但是Discord官方明确限制Bot账号无权调用该类型,没有合法方案可以绕过该限制。
折中方案
如果希望前缀观感更自然,可以选择PLAYING类型设置状态,discord.js v14版本的示例代码如下:
const { Client, IntentsBitField, ActivityType } = require('discord.js'); const client = new Client({ intents: [IntentsBitField.Flags.Guilds] }); client.on('ready', () => { client.user.setActivity({ name: '你需要的自定义状态内容', type: ActivityType.Playing }); });
内容的提问来源于stack exchange,提问作者MyPaperStudios
相关产品推荐
相关产品推荐

