Nextcord,为什么我不能在 @tasks.loop 中执行此操作?



Nextcord接受@tasks.loop中的datetime.time列表,但我需要更改该列表。我试着这样做:

class peter_teste(commands.Cog):

def __init__(self, bot):
super().__init__()
self.bot = bot
self.peter.start()
def peter_times(self):
peter_hours = []
#change the default list
return peter_hours
@tasks.loop(time=self.peter_times())
async def peter(self):
#do something

我得到错误";self未被定义";在@tasks.loop(time=self.peter_times(((中

要在decorator中使用peter_times,它不能是类的方法,因为decorator是在初始化类之前处理的(所以self没有在那里定义(。您可以在类外设置这些时间,也可以在before_roop中设置这些时间并更改其中的间隔。

changeinterval可用于在执行过程中更改时间。

最新更新