@tasks.loop(hours = 18.0 )
async def sob():
c = today.weekday() # Проверяет день недели(изменить weekday) и написать такие же функции
if c == 5 or 6 :
channel = await bot.fetch_channel(926201516963029014)
await channel.send('Сегодня будет собрание')
else :
pass
理论上,机器人应该首先检查星期几,然后才删除消息,但它会立即删除它,尽管它不适合日期(今天是星期一,因此 c = 0)
您对星期几的检查执行不正确:要通过OR检查多个条件,您需要将代码格式化如下:
if cond1 or cond2,condN条件在哪里。我假设您想测试变量是否等于cor5,6但您的公式将被解释为:那些。
если c == 5 или 6. 当传递任何数字非零文字时, , 是隐含True的,所以我们最终得到并且它总是等于
True,不管c。用这种方式重写这个条件是值得的:
现在代码实际上检查变量是等于 5 还是 6(很可能是周六和周日?),并且代码只在那些日子有效,并非总是如此。
PS如果你想放纵,你可以使用类型条件
if c in [5, 6]:)