如何在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
相关产品推荐
相关产品推荐

