caFICteria-aaS/bot/bot_listen.py
2024-12-02 18:40:31 +01:00

33 lines
973 B
Python

from telethon import TelegramClient, events
import config
from utils import parse_menu_message, InvalidMenuMessageError
client = TelegramClient(config.session_name, config.api_id, config.api_hash)
@client.on(events.NewMessage(chats=config.channel_name))
async def handler(event):
msg = event.message
if not msg.message is None:
try:
courses = parse_menu_message(msg.message)
except InvalidMenuMessageError as e:
print(e)
return
with open(config.menu_history_file_path, "rw", encoding='utf-8') as f:
menus = json.load(f)
menus[msg.date.strftime("%d-%m-%Y")] = {"courses": courses,
"message": msg.message}
json.dump(menus, f, ensure_ascii=False, indent=4)
async def main():
await client.start()
await client.run_until_disconnected()
if __name__ == '__main__':
import asyncio
asyncio.run(main())