Discord.js v14设置Bot活动状态仅显示Playing问题求助
Discord.js v14 机器人活动状态始终显示“Playing”的排查方案
确认ActivityType导入正确
必须从discord.js正确导入ActivityType,否则代码会默认使用Playing类型且无报错。正确导入示例:const { Client, ActivityType } = require('discord.js');检查活动状态设置语法
Discord.js v14对活动状态的设置结构有明确要求,确保type参数位置正确。示例:
设置Watching状态:client.user.setActivity({ name: '服务器消息', type: ActivityType.Watching });或者简写形式:
client.user.setActivity('服务器消息', { type: ActivityType.Watching });若type参数嵌套错误或位置不对,会导致类型不生效,默认 fallback 到Playing。
排查是否存在重复覆盖代码
检查项目中所有setActivity调用,可能存在其他代码(如其他模块、定时任务)未指定类型就调用该方法,覆盖了你设置的状态。确保所有状态设置都明确指定type。刷新Discord客户端缓存
有时Discord客户端缓存会导致状态显示延迟,尝试退出并重新登录Discord,或切换服务器后返回,查看状态是否更新。确认机器人权限配置
确保机器人已开启Presence Intent权限:- 登录Discord开发者门户,进入你的机器人应用
- 在
Bot页面的Privileged Gateway Intents中开启Presence Intent - 重新邀请机器人到服务器(邀请链接需包含
bot和applications.commands权限)
验证Discord.js版本
运行npm list discord.js确认版本为v14.x,若版本不符(如误装v13),v14的ActivityType语法不兼容,会导致类型失效。重新安装正确版本:npm uninstall discord.js npm install discord.js@latest
内容的提问来源于stack exchange,提问作者Zwoooz
相关产品推荐
相关产品推荐

