如何使用JDA为Discord机器人设置无前缀自定义状态?
用JDA设置Discord机器人的自定义状态
可以实现,你要的这种无前缀的“自定义状态”对应Discord的Custom Status功能,JDA从4.3.0版本开始支持直接设置,不需要依赖额外前缀。
实现代码
直接使用Activity.customStatus()方法创建自定义状态,再通过setActivity设置即可:
// 基础自定义状态 jda.getPresence().setActivity(Activity.customStatus("正在摸鱼中...")); // 带emoji的自定义状态(支持系统emoji或自定义服务器emoji) // 系统emoji示例 jda.getPresence().setActivity(Activity.customStatus(Emoji.fromUnicode("🐟"), "正在摸鱼中...")); // 自定义服务器emoji示例(需要emoji名称和ID) jda.getPresence().setActivity(Activity.customStatus(Emoji.fromCustom("fish", 123456789012345678L, false), "正在摸鱼中..."));
注意事项
- 确保你的JDA版本≥4.3.0,旧版本没有
customStatus方法 - 自定义状态和普通的Playing/Listening活动可以共存,但自定义状态会显示在机器人头像下方的独立区域,和活动状态不冲突
- 自定义状态的内容长度有Discord限制,不要超过128字符
内容的提问来源于stack exchange,提问作者José play1012
相关产品推荐
相关产品推荐

