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

如何使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:17:15