重装系统后Python Discord SelfBot登录失败问题求助
关于Discord SelfBot重装后登录失败的问题分析
问题描述
原本正常运行的Python Discord自动回复SelfBot,在Windows系统崩溃重装后,重新安装Python并运行时遇到一系列问题:
- 首次运行出现
ModuleNotFoundError: No module named 'discord'错误 - 安装discord库后,出现
TypeError: Client.__init__() missing 1 required keyword-only argument: 'intents'错误 - 添加intents配置代码后,最终出现
discord.errors.LoginFailure: Improper token has been passed.错误
以下是SelfBot代码:
import discord import asyncio from discord.ext import commands intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) # represents a client object token = "" @client.event async def on_ready(): print("Online !!!!") async def on_message(message): if message.author.id == self.user.id: return if "<@808641904220700724>" in message.content: print("Find Mention") print(f"Server : {message.guild} Channel : {message.channel} Author {message.author}: {message.content}") await message.channel.send(f"Report Sent i'll Contact You ASAP :heart: Content : :pushpin:Server : {message.guild} :pushpin:Channel : {message.channel.id} :pushpin:Author : {message.author.mention} :pushpin:ID : {message.author.id}") if "رادان" in message.content: print("Find نادار") print(f"Server : {message.guild} Channel : {message.channel} Author {message.author}: {message.content}") await message.channel.send(f"Report Sent i'll Contact You ASAP :heart: Content : :pushpin:Server : {message.guild} :pushpin:Channel : {message.channel.id} :pushpin:Author : {message.author.mention} :pushpin:ID : {message.author.id}") if "radan" in message.content: print("Find radan") print(f"Server : {message.guild} Channel : {message.channel} Author {message.author}: {message.content}") await message.channel.send(f"Report Sent i'll Contact You ASAP :heart: Content : :pushpin:Server : {message.guild} :pushpin:Channel : {message.channel.id} :pushpin:Author : {message.author.mention} :pushpin:ID : {message.author.id}") if "Radan" in message.content: print("Find Radan") print(f"Server : {message.guild} Channel : {message.channel} Author {message.author}: {message.content}") await message.channel.send(f"Report Sent i'll Contact You ASAP :heart: Content : :pushpin:Server : {message.guild} :pushpin:Channel : {message.channel.id} :pushpin:Author : {message.author.mention} :pushpin:ID : {message.author.id}") client.run(token)
错误原因与解决说明
前两个错误的根源
ModuleNotFoundError:重装Python后原环境的依赖包丢失,需要重新安装discord.py库(注意:discord.py已停止维护,若使用新版本需适配替代库)。TypeError:discord.py v2.0及以上版本强制要求初始化Client时传入intents参数,你添加intents配置的操作是正确的。
最终LoginFailure错误的核心原因
这个错误基本是操作问题,而非Discord平台问题,可能的触发点包括:
- Token未填写:代码中
token = ""为空,必须填入有效的Discord用户Token。 - Token失效或错误:重装系统后未保留原Token,或因账号密码修改、Discord安全机制触发导致Token失效;也可能是复制Token时遗漏或多带了字符。
- SelfBot违规限制:Discord禁止使用SelfBot,若账号因SelfBot被限制,也可能间接导致登录失败,但优先提示Token错误。
代码额外问题
你的on_message函数缺少@client.event装饰器,导致消息事件不会被触发,同时函数内的self.user需改为client.user(当前使用的是client对象而非类实例),修正后的代码片段:
@client.event async def on_message(message): if message.author.id == client.user.id: return # 后续逻辑保持不变
内容的提问来源于stack exchange,提问作者Radan
相关产品推荐
相关产品推荐

