From b9aabde3f9f422f1aee0d32b48acc52ef1a8f8ec Mon Sep 17 00:00:00 2001 From: Michael De Roover Date: Sun, 14 Mar 2021 18:50:09 +0100 Subject: [PATCH] Add initial userbot code --- ubot.py | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 ubot.py diff --git a/ubot.py b/ubot.py new file mode 100644 index 0000000..7228e75 --- /dev/null +++ b/ubot.py @@ -0,0 +1,76 @@ +from telethon import TelegramClient, events +from telethon.tl.custom import Dialog +from telethon.tl.types import Channel, User, Chat + +# Use your own values from my.telegram.org +api_id = 1234567 +api_hash = '1234567890abcdef' +client = TelegramClient('ubot', api_id, api_hash) + +@client.on(events.NewMessage) +async def edit(event): + msg = event.raw_text + + if '.alive' in msg: + rpl = "Userbot alive and well!" + msg = event.text.replace(msg, rpl) + await event.edit(msg) + + if '.shg' in msg: + rpl = f"¯\_(ツ)_/¯" + msg = event.text.replace('.shg', rpl) + await event.edit(msg) + + if '.stats' in msg: + pms = bots = 0 + groups = gadmin = gcreator = 0 + chans = cadmin = ccreator = 0 + unread = mentions = 0 + dialog: Dialog + + async for dialog in event.client.iter_dialogs(): + entity = dialog.entity + + if isinstance(entity, Channel): + if entity.broadcast: + chans += 1 + if entity.creator or entity.admin_rights: + cadmin += 1 + if entity.creator: + ccreator += 1 + + elif entity.megagroup: + groups += 1 + if entity.creator or entity.admin_rights: + gadmin += 1 + if entity.creator: + gcreator += 1 + + elif isinstance(entity, User): + pms += 1 + if entity.bot: + bots +=1 + + elif isinstance(entity, Chat): + groups += 1 + if entity.creator or entity.admin_rights: + gadmin += 1 + if entity.creator: + gcreator += 1 + + mentions += dialog.unread_mentions_count + unread += dialog.unread_count + + rpl = f'Private chats: {pms} ({pms - bots} users / {bots} bots)\n' + rpl += f'Groups: {groups} ({gadmin} admin / {gcreator} creator)\n' + rpl += f'Channels: {chans} ({cadmin} admin / {ccreator} creator)\n' + rpl += f'Unread: {unread} ({mentions} mentions)\n' + await event.edit(rpl) + + if '.fire' in msg: + rpl = 'IMA FIRING MAH LAZER' + msg = event.text.replace(msg, rpl) + await event.edit(msg) + +client.start() +client.run_until_disconnected()