如何移除Discord.py机器人状态的"Playing"前缀?
实现Discord机器人无前缀的自定义状态(discord.py & JavaScript)
discord.py 解决方案
你之前用discord.Activity搭配ActivityType.custom没显示,大概率是用法细节没处理对。正确做法是通过client.change_presence方法设置,且要确保库版本为v2.x以上,同时开启必要的intents。
以下是可运行的最小复现代码:
import discord from discord.ext import commands # 配置必要的intents,按需调整 intents = discord.Intents.default() intents.message_content = True client = commands.Bot(command_prefix="B!", intents=intents) @client.event async def on_ready(): # 设置自定义无前缀状态 await client.change_presence( activity=discord.Activity( type=discord.ActivityType.custom, name="Ready to help! | B!" ) ) print(f"已登录为 {client.user}") # 替换为你的机器人令牌 client.run("YOUR_BOT_TOKEN")
注意事项
- 前往Discord开发者门户,在机器人页面的"Privileged Gateway Intents"下开启所需权限(至少开启
Server Members Intent和Message Content Intent) - 确保安装最新版discord.py:
pip install -U discord.py
JavaScript(discord.js)解决方案
如果用discord.js(v14+版本),可以这样设置:
const { Client, ActivityType } = require('discord.js'); // 配置intents const client = new Client({ intents: ['Guilds', 'MessageContent'] }); client.on('ready', () => { console.log(`已登录为 ${client.user.tag}!`); // 设置自定义无前缀状态 client.user.setActivity('Ready to help! | B!', { type: ActivityType.Custom }); }); // 替换为你的机器人令牌 client.login('YOUR_BOT_TOKEN');
注意事项
- 同样需要在Discord开发者门户开启对应intents
- 确保安装最新版discord.js:
npm install discord.js@latest
内容的提问来源于stack exchange,提问作者DuskTheDev
相关产品推荐
相关产品推荐

