aboutsummaryrefslogtreecommitdiff
path: root/userbot.py
diff options
context:
space:
mode:
authormroik <mroik@delayed.space>2021-11-25 16:29:39 +0100
committermroik <mroik@delayed.space>2021-11-25 16:29:39 +0100
commit9ab1160316b16056abe91af13fde6946f2e0ade8 (patch)
tree51d757f6aab1db83f0520a68dd70a64d46d705df /userbot.py
parent1b14ca9b44de19369463ad2afcf77b5b4fce3ef7 (diff)
Modified to retain user tagging
Diffstat (limited to 'userbot.py')
-rw-r--r--userbot.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/userbot.py b/userbot.py
new file mode 100644
index 0000000..bd390d6
--- /dev/null
+++ b/userbot.py
@@ -0,0 +1,47 @@
+import re
+import logging
+
+from telethon import TelegramClient, events
+from telethon.tl.types import PeerUser
+
+from config import API_ID, API_HASH, WORDLIST, BOT_ID
+
+
+LOG = logging.getLogger(__name__)
+client = TelegramClient("notify me on untagged", API_ID, API_HASH)
+client.parse_mode = "markdown"
+
+
+@client.on(events.NewMessage())
+async def handler(event: events.NewMessage.Event):
+ me = await client.get_me()
+ from_ = event.message.from_id
+ chan = event.message.peer_id
+ message = event.message
+
+ if isinstance(event.message.peer_id, PeerUser):
+ return
+ if int(BOT_ID) == from_.user_id:
+ return
+ if from_.user_id == me.id:
+ return
+ if message.message == "" or message.message is None:
+ return
+ if message.mentioned:
+ return
+ for word in WORDLIST:
+ 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"
+ 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(await client.get_input_entity(int(BOT_ID)), msg)
+ LOG.info(f"Message from {from_.user_id} was sent to BOT {BOT_ID}")
+ return
XMR address: 854DmXNrxULU3ZFJVs4Wc8PFhbq29RhqHhY8W6cdWrtFN3qmooKyyeYPcDzZTNRxphhJ5UzASQfAdEMwSteVqymk28aLhqj