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

如何在discord.py中设置机器人为隐身状态?

关于discord.py设置机器人隐身状态的问题

首先明确:Discord官方API不允许机器人账号设置为隐身(invisible)状态,机器人仅支持以下几种在线状态:

  • discord.Status.online(在线)
  • discord.Status.idle(离开)
  • discord.Status.dnd(请勿打扰)
  • discord.Status.offline(离线)

你尝试的代码不生效,核心原因就是Discord不支持机器人使用隐身状态。另外你的代码里存在intents设置顺序错误,正确的写法应该先修改intents参数再初始化Bot实例(虽然这无法解决隐身问题,但能保证intents配置生效):

intents = discord.Intents.all()
intents.members = True  # 先修改intents再创建bot实例
bot = discord.AutoShardedBot(shards=2, intents=intents)
token = "TOKEN"

@bot.event
async def on_ready():
    # 机器人只能设置为官方允许的状态,比如离线状态(最接近隐身的效果)
    await bot.change_presence(status=discord.Status.offline)

bot.run(token)

如果需要让机器人看起来“隐身”,设置为offline状态是最接近的选择,其他用户会看到机器人处于离线状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:42:37