Nextcord,为什么我不能在@tasks.loop 中执行此操作?
Nextcord, why can't i do this in @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
我在@tasks.loop(time=self.peter_times())
中收到错误“self is not defined”
要在装饰器中使用 peter_times
,它不能使用 class 的方法,因为装饰器是在 class 初始化之前处理的,(所以 self
没有在那里定义)。您可以在 class 之外设置这些时间,或者在 before_loop 中设置它们并在那里更改间隔。
change_interval可用于在执行过程中更改时间。
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
我在@tasks.loop(time=self.peter_times())
中收到错误“self is not defined”要在装饰器中使用 peter_times
,它不能使用 class 的方法,因为装饰器是在 class 初始化之前处理的,(所以 self
没有在那里定义)。您可以在 class 之外设置这些时间,或者在 before_loop 中设置它们并在那里更改间隔。
change_interval可用于在执行过程中更改时间。