У меня есть функция, которая подключается к сессии телеграмм, парсит тг каналы указанные в url и дальше не выходя из сессии в режиме реального времени парсят новые сообщения в канале, но я столкнулся с проблемой, что я не знаю чему равен аргумент event, помогите, пожалуйста
Код:
import logging # стандартная библиотека для логирования
import parcer_functions # библиотека этого парсера
from telethon import TelegramClient, events, sync, connection # pip3 install telethon
from config import api_id, api_hash # получение айди и хэша нашего приложения из файла config.py
from loguru import logger
from telethon.tl.functions.channels import JoinChannelRequest
from asyncio import get_event_loop, sleep, gather, run
import asyncio
# настройка логгера
logging.basicConfig(
level=logging.INFO,
filename='parser_log.log',
filemode='w',
format="%(asctime)s %(levelname)s %(message)s"
)
logging.info("script started") # сообщение о начале работы в лог
url = ["XXX"]
flag = True # флаг нужен для корректного логирования результата работы парсера (успешно/неуспешно)
client = TelegramClient('new', api_id, api_hash)
client.start()
@client.on(events.NewMessage(chats=url))
async def main(event):
async with client:
logger.info(f"коннект аккаунта")
logger.info(f"Запущен парсер групп - {url}")
for channel in url:
try:
await client(JoinChannelRequest(channel))
err = await parcer_functions.parse(client, channel)
except:
print(f'Waiting for')
err = event.message.to_dict()['message']
print(err)
await parcer_functions.parse(client, url)
print(f"Сообщение было отправлено в канале")
await client.run_until_disconnected()
if __name__ == '__main__':
asyncio.run(main())
Код ошибки:
Traceback (most recent call last):
File "F:\pythonProject\parcer_tg\parcer.py", line 49, in <module>
asyncio.run(main())
TypeError: main() missing 1 required positional argument: 'event'