@tasks.loop(seconds=2.0)
async def ban_loop():
getdatanow = datetime.now().date()
for ban in sql.execute(F"SELECT days FROM bans"):
getdays = str(ban)
ban1 = datetime.strptime(getdays, "%y-%m-%d")
if getdatanow >= ban1:
sql.execute(f"UPDATE bans SET ex = 'True'")
for bans in sql.execute(f"SELECT FROM bans WHERE ex = 'True'"):
if getdatanow > bans[2]:
guild = client.get_guild(806633419865718784)
await guild.unban(getallbannedid[4])
print(getallbannedid[4])
sql.execute(f"DELETE FROM bans WHERE banned = {bans[0]}")
db.commit()
print('Пользователь разбанен по истечению длительности наказания')
getdays = str(ban)
. Вам запрос к БД отдает кортеж данных, вместо получения элемента этого кортежа, зачем-то превращаете его в строку, и получается это (строка) ('2021-11-20', )
.ban1 = datetime.strptime(ban[0], "%Y-%m-%d")