Всем привет! Появилась такая ошибка:
/home/home/.local/lib/python3.6/site-packages/telebot/util.py:60: RuntimeWarning: coroutine 'take_message' was never awaited
task(*args, **kwargs)
Как исправить?
Вот код:
# -*- coding: utf-8 -*-
import telebot
import asyncio
from telegram_client import TelegramSession as ts
api_id = ********************** # этот id вы получаете при создание приложения
api_hash = '***********************' # и этот тоже
username = '***************' # ваше имя в тг
id_channel = -***************** # id вашего канала
token = '********************' # токен вашего бота
bot = telebot.TeleBot(token)
client = ts(api_id,api_hash,username)
@bot.message_handler(content_types=['text'])
async def take_message(message):
if '@' in message.text and ',' in message.text:
channels = message.text.split(',')
my_channel = channels[-1]
parse_channel = channels[0:-1]
await client.add_task(parse_channel,my_channel)
else:
return bot.send_message(message.chat.id,'<b>Проверьте правильность ввода!</b>',parse_mode='html')
if __name__ == '__main__':
bot.polling(none_stop=True)
А это код модуля telegram_client:
from telethon import TelegramClient,sync,events,utils
import asyncio
class TelegramSession:
def __init__(self,api_id,api_hash,username):
self.__loop = asyncio.new_event_loop()
asyncio.set_event_loop(self.__loop)
self.client = TelegramClient(username, api_id, api_hash,loop=self.__loop)
self.client.start()
async def handler_channel(self,parse_channel,my_channel):
#print(parse_channel)
@self.client.on(events.NewMessage(chats=parse_channel))
async def normal_handler(event):
await self.client.send_message(my_channel,event.message)
async def list_tasks(self):
pass
async def add_task(self,parse_channel,my_channel):
print(parse_channel)
await self.__loop.create_task(self.handler_channel(parse_channel,my_channel))
async def stop_task(self,something):
pass
def run_until(self):
self.client.run_until_disconnected()