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
相关产品推荐
相关产品推荐

