From 15e9047c6cdde34662f86fa0b1156c7a860cb895 Mon Sep 17 00:00:00 2001 From: mroik Date: Thu, 25 Nov 2021 00:48:12 +0100 Subject: Highlighting --- config.py | 1 + mentioned.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index 4fb3498..2a8ec0d 100644 --- a/config.py +++ b/config.py @@ -2,4 +2,5 @@ from os import environ API_ID = environ.get("TELEGRAM_API_ID") API_HASH = environ.get("TELEGRAM_API_HASH") +GROUP_ID = environ.get("TELEGRAM_GROUP_ID") WORDLIST = [] # List of words to be notified about diff --git a/mentioned.py b/mentioned.py index 1cc9f20..429791e 100644 --- a/mentioned.py +++ b/mentioned.py @@ -1,3 +1,5 @@ +import re + from telethon import TelegramClient, events from telethon.tl.types import PeerUser @@ -24,10 +26,18 @@ async def handler(event: events.NewMessage.Event): if message.mentioned: return for word in WORDLIST: - if word.upper() in message.message.upper(): + if f" {word.upper()} " in message.message.upper()\ + or message.message.upper().startswith(f"{word.upper()} ")\ + or message.message.upper().endswith(f" {word.upper()}"): msg = f"[{from_.user_id}](tg://user?id={from_.user_id}) tagged you in" msg += f" [{chan.channel_id}](https://t.me/c/{chan.channel_id}/{str(message.id)}):\n" - msg += f"{message.message}" + found = re.search(f"{word.upper()}", message.message.upper()) + if found is None: + msg += f"{message.message}" + else: + msg += f"{message.message[:found.start()]}__"\ + f"{message.message[found.start():found.end()]}__"\ + f"{message.message[found.end():]}" await client.send_message("me", msg) return -- cgit v1.3