如何使用discord.py通过用户名/邮箱密码登录?需实现状态切换与嵌入消息发送
关于discord.py 2019版本用户名/邮箱+密码登录的问题解答
1. 如何使用2019版本的discord.py通过用户名和密码完成登录?
2019年前后的discord.py版本(主要是v1.x系列,比如v1.3、v1.4)还保留着密码登录的支持,实现起来很直接:
- 先安装对应版本的discord.py,用pip指定版本即可:
pip install discord.py==1.3.4 - 然后编写核心代码,通过
discord.Client的run方法直接传入用户名和密码就行,或者用login+connect的组合方式:import discord client = discord.Client() @client.event async def on_ready(): print(f"成功登录:{client.user}") # 直接用用户名+密码启动客户端 client.run("你的Discord用户名", "你的账号密码") # 另一种方式:用login和connect配合异步运行 # import asyncio # async def main(): # await client.login("你的用户名", "你的密码") # await client.connect() # asyncio.run(main())
这里的“用户名”也可以换成你的Discord注册邮箱,效果是一样的。
2. 无法获取Discord用户令牌,能否通过邮箱和密码实现登录?
当然可以——2019版本的discord.py完全支持用邮箱+密码的方式登录,因为当时Discord的API允许将邮箱作为登录凭证之一,逻辑和用户名+密码登录没有区别。
不过有几个重要的点必须提醒你:
- 安全隐患:把邮箱和密码明文写在代码里风险极高,一旦代码泄露,你的Discord账号很可能被盗,建议用环境变量或者加密文件来存储这些敏感信息。
- 官方风控:Discord后来逐步限制了密码登录的接口,哪怕用旧版本的discord.py,也可能遇到登录失败、需要验证码验证的情况,甚至账号被临时限制。
- 版本局限性:discord.py在v2.0及以后的版本彻底移除了密码登录功能,完全改用令牌登录,这也是为了遵循Discord官方的API规范。
如果是做个人用的工具,其实更推荐你用令牌登录(合法获取自己的令牌并不难,比如在Discord客户端的开发者工具里就能找到,注意绝对不能泄露给其他人),这种方式更稳定,也更符合平台规则。
内容的提问来源于stack exchange,提问作者Prox Neon
相关产品推荐
相关产品推荐

