Не получается обрабатывать два события в pyrogram
пишу бота для телеграмм с использованием pyrogram. Нужно сделать рассылку по чатам по айди, что я и сделал:
async def start_mailing():
while True:
if check_time(settings['timer']): # Нужно отправлять сообщения по таймеру
print('Sending...')
for chat_ids in settings['ids']:
await app.send_message(chat_ids, settings['text'])
sleep(INTERVAL)
new_timer = []
for i in settings['timer']:
new_timer.append(update_time(i, 7))
update_settings('timer', new_timer)
sleep(0.5)
И эта функция работает. Но как только я добавляю handler для обработки сообщений, то он не работает:
@app.on_message()
async def message_handler(client: Client, message: Message):
print(message.text)
Запуск кода:
async def main():
await start_mailing()
app.run(main())
То есть рассылка работает, но бот никак не реагирует на входящие сообщения. Как мне решить эту проблему?
Весь код:
from time import sleep
from pyrogram import Client
from pyrogram.types import Message
from src.utils import *
CFG = get_cfg()
api_id = CFG['api_id']
api_hash = CFG['api_hash']
INTERVAL = 0.5
settings = get_settings()
app = Client(CFG['username'], CFG['api_id'], CFG['api_hash'])
@app.on_message()
async def message_handler(client: Client, message: Message):
print(message.text)
async def start_mailing():
while True:
if check_time(settings['timer']):
print('Sending...')
for chat_ids in settings['ids']:
await app.send_message(chat_ids, settings['text'])
sleep(INTERVAL)
new_timer = []
for i in settings['timer']:
new_timer.append(update_time(i, 7))
update_settings('timer', new_timer)
sleep(0.5)
async def main():
await start_mailing()
app.run(main())