如何在Discord.py中通过令牌获取机器人信息?
使用Discord.py通过令牌获取机器人信息
完全可以实现,以下是直接可用的代码示例,能输出你需要的机器人名称、服务器数量和客户端ID:
import discord from discord.ext import commands # 配置Intents,Discord.py 2.x版本必须显式启用,否则无法获取服务器列表 intents = discord.Intents.default() intents.guilds = True # 创建机器人客户端实例 client = commands.Bot(command_prefix="!", intents=intents) @client.event async def on_ready(): # 输出目标信息 print(f"机器人名称: {client.user.name}") print(f"客户端ID: {client.user.id}") print(f"所在服务器数量: {len(client.guilds)}") # 信息输出完成后自动退出,避免机器人持续运行 await client.close() # 替换为你的机器人令牌 client.run("你的机器人令牌")
关键说明
- Intents配置:Discord.py 2.0及以上版本强制要求配置Intents,
intents.guilds = True是获取服务器列表的必要条件,缺失的话client.guilds会返回空列表。 - on_ready事件:机器人成功登录Discord后触发该事件,这是获取机器人状态信息的最佳时机。
- 核心属性解析:
client.user.name:直接获取机器人的用户名client.user.id:机器人的唯一标识(即你需要的客户端ID)len(client.guilds):通过统计服务器列表的长度,得到机器人加入的服务器总数
注意事项
- 务必妥善保管机器人令牌,泄露令牌会导致他人恶意控制你的机器人。
- 若机器人加入了大量服务器,
client.guilds的加载可能会有短暂延迟,属于正常现象。
内容的提问来源于stack exchange,提问作者Carson
相关产品推荐
相关产品推荐

