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

单Python脚本运行两个Discord Bot时cogs加载ImportError问题求助

问题原因

  • 该ImportError与你的cogs使用逻辑、自定义代码无关,问题出在第三方反垃圾库Discord AntiSpam和运行环境的版本不匹配上:
  • AsyncMock是Python 3.8及以上版本才内置到unittest.mock模块的工具,你当前使用的Python 3.7环境原生没有该组件。你安装的AntiSpam库版本内部依赖了AsyncMock,因此导入该库时会触发报错。
  • 单独运行反应身份组bot时无异常,是因为该bot不会导入antispam相关依赖,自然不会触发该错误。

解决方法

  • 方案1:升级Python版本(推荐)

    将虚拟环境的Python版本升级到3.8或更高版本,即可原生支持AsyncMock,适配当前安装的AntiSpam库版本,无需修改业务代码。
  • 方案2:降级Discord AntiSpam库版本

    如果暂时无法升级Python版本,可以安装适配Python 3.7的旧版AntiSpam库,执行命令:
    pip install discord-antispam==1.2.2
    
    该版本是最后一个支持Python 3.7的稳定版本,不存在AsyncMock依赖。
  • 额外优化建议

    你当前使用单个事件循环运行两个bot的写法在高版本discord.py下可能出现事件冲突,更稳妥的方式是拆分两个独立脚本,分别启动两个bot,避免运行时异常。

内容的提问来源于stack exchange,提问作者NimendraK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:24:03