#python #multithreading #bots #python-asyncio #telethon
Вопрос:
import asyncio, redis from threading import Thread, Timer db = redis.StrictRedis(host='localhost', port=6379, db=0, charset='UTF-8', decode_responses=True) txts = ['txt1','txt2','txt3'] async def Send_GP(): async for dialog in bot.iter_dialogs(): if dialog.is_group: text = random.choice(txts) await bot.send_message(dialog.id, text) async def send_chat(): try: t = asyncio.get_event_loop().create_task(send_chat) await t() db.setex('timeleft:',int(db.get('time_chat:')),True) Timer(int(db.get('time_chat:')), t, []).start() except Exception as e: print(e)
Здравствуйте, в чем проблема с кодом ?
это моя ошибка :
сопрограмма «send_chat» никогда не ожидалась self.function(*self.args, **self.kwargs)
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Эта ошибка практически всегда означает, что await
где-то за функцией отсутствует ключевое async
слово. Проверяйте везде, куда send_chat
звонят.
Кроме того, похоже, что вы выполняете какой-то рекурсивный вызов send_chat
строки at t = asyncio.get_event_loop().create_task(send_chat)
, который, вероятно, не предназначен.