Как использовать asyncio с потоковой передачей в Python-это метод потоковой передачи.Таймер

#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) , который, вероятно, не предназначен.