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

discord.py使用@tasks.loop时触发TypeError及RuntimeWarning问题求助

Discord机器人定时任务错误排查
  • 异步调用未处理:discord.py v2.x版本开始,bot.add_cog()是异步方法,你的loop.py里setup函数为同步定义,直接调用会导致协程对象未被await,触发RuntimeWarning及后续类型错误。
    修复方式:将setup改为异步函数,用await执行add_cog:

    async def setup(bot):
        await bot.add_cog(loop(bot))
    
  • 实例引用错误:bot.py的on_ready方法中使用全局变量bot.load_extension,类方法内部应通过self指代当前机器人实例,修正为:

    await self.load_extension("loop")
    
  • 变量命名冲突(潜在问题):loop.py中先导入datetime.time,随后定义同名变量time,会覆盖原time类,后续使用可能出错,建议重命名变量:

    target_time = time(11, 40)
    
    @tasks.loop(time=target_time)
    async def check(self):
        # 你的任务逻辑
    
  • 缺失模块导入:bot.py中使用os.getenv()但未导入os模块,需在文件顶部添加:

    import os
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:36:12