运行Python开发的Discord Bot时出现Bot.__init__()错误求助
Discord Bot 启动报错 Bot.init() 的解决建议
核心问题分析
你遇到的Bot.__init__()错误,大概率是Discord.py版本不兼容导致的——旧代码基于Discord.py v1.x编写,新设备安装了v2.x版本,而v2.x强制要求初始化Bot时传入intents参数,这是v1.x没有的强制要求。
具体解决步骤
确认Discord.py版本
打开终端执行:pip show discord.py如果版本是2.x,要么回退到旧版本,要么修改代码适配新版本。
方案1:回退到兼容旧代码的版本
执行命令卸载当前版本,安装v1.x稳定版:pip uninstall discord.py pip install discord.py==1.7.3方案2:修改代码适配v2.x版本
在初始化Bot的代码里添加intents配置,示例:import discord from discord.ext import commands # 配置intents,按需开启需要的权限 intents = discord.Intents.default() intents.message_content = True # 需要读取消息内容时必须开启 intents.members = True # 需要获取服务器成员列表时开启 # 用intents初始化Bot bot = commands.Bot(command_prefix='!', intents=intents)注意:还要去Discord开发者后台的Bot页面,开启对应的Privileged Gateway Intents(消息内容意图、服务器成员意图),否则代码仍会报错。
其他排查点
- 检查新设备的Python版本是否和旧设备一致,避免版本差异引发依赖问题
- 确认Bot的token是否正确配置,有没有复制错误或权限变更
内容的提问来源于stack exchange,提问作者NiloySaha2003
相关产品推荐
相关产品推荐

