Last active
March 25, 2022 01:05
-
-
Save BitTheByte/9b1b9ed39989748afad979f1657bdd0c to your computer and use it in GitHub Desktop.
Revisions
-
BitTheByte revised this gist
Mar 25, 2022 . 1 changed file with 5 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -28,7 +28,10 @@ async def on_delete_message(saved): chat_from = event.chat if event.chat else (await event.get_chat()) chat_title = f"| Group: {chat_from.title}" if getattr(chat_from, "title", None) else '' first_name = user.first_name if user.first_name else '' last_name = user.last_name if user.last_name else '' user_info = f"{first_name} {last_name} (@{user.username}) {chat_title}" template_msg = "User: %s\n{message}" % user_info template_media = "User: %s" % user_info @@ -50,7 +53,7 @@ async def on_delete_message(saved): @client.on(events.NewMessage) async def handle_new_message(event): me = await client.get_entity("me") from_id = event.from_id.user_id if event.from_id else event.peer_id.user_id if me.id == from_id: return -
BitTheByte revised this gist
Mar 25, 2022 . 1 changed file with 23 additions and 11 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,6 +3,7 @@ from collections import defaultdict import tempfile import logging import time import os logging.basicConfig(level=logging.WARNING) @@ -11,7 +12,7 @@ SELF_REPORT = True API_HASH = '' API_ID = 0 MAX_MEM = 10000 memory = {} client = TelegramClient('telegram_session', API_ID, API_HASH) @@ -25,9 +26,13 @@ async def on_delete_message(saved): else: chat = await client.get_input_entity(user.id) chat_from = event.chat if event.chat else (await event.get_chat()) chat_title = f"| Group: {chat_from.title}" if getattr(chat_from, "title", None) else '' user_info = f"{user.first_name} {user.last_name} (@{user.username}) {chat_title}" template_msg = "User: %s\n{message}" % user_info template_media = "User: %s" % user_info template_media_msg = "User: %s\n{message}" % user_info if not event.media == None: temp_name = next(tempfile._get_candidate_names()) @@ -42,20 +47,22 @@ async def on_delete_message(saved): await client.send_message(chat,template_msg.format(message=message)) @client.on(events.NewMessage) async def handle_new_message(event): me = await client.get_entity("me") from_id = event.from_id if event.from_id else event.peer_id.user_id if me.id == from_id: return memory.update({ event.id: { "event": event, "user": await client.get_entity(from_id) } }) @client.on(events.MessageDeleted) async def handle_message_deleted(event): global memory deleted_ids = event.deleted_ids for deleted_message in deleted_ids: @@ -68,5 +75,10 @@ async def handler(event): if len(memory) >= MAX_MEM: memory = {} for _ in range(10): try: client.start() client.run_until_disconnected() except Exception as e: print(e) time.sleep(60) -
BitTheByte revised this gist
May 4, 2020 . 1 changed file with 22 additions and 10 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,23 +1,29 @@ # -*- coding: utf-8 -*- from telethon.sync import TelegramClient,events from collections import defaultdict import tempfile import logging import os logging.basicConfig(level=logging.WARNING) logging.getLogger('asyncio').setLevel(logging.ERROR) SELF_REPORT = True API_HASH = '' API_ID = 0 MAX_MEM = 1000 memory = {} client = TelegramClient('telegram_session', API_ID, API_HASH) async def on_delete_message(saved): user = saved["user"] event = saved["event"] message = event.message.message if SELF_REPORT: chat = await client.get_entity("me") else: chat = await client.get_input_entity(user.id) template_msg = "User: %s || Type: Text || Message: {message}" % (user.first_name) template_media = "User: %s || Type: MediaOnly" % (user.first_name) @@ -33,11 +39,14 @@ async def on_delete_message(saved): os.unlink(media) return await client.send_message(chat,template_msg.format(message=message)) @client.on(events.NewMessage()) async def handler(event): me = await client.get_entity("me") if me.id == event.from_id: return memory.update({ event.id: { "event": event, @@ -50,9 +59,12 @@ async def handler(event): global memory deleted_ids = event.deleted_ids for deleted_message in deleted_ids: try: saved = memory[deleted_message] await on_delete_message(saved) except: pass if len(memory) >= MAX_MEM: memory = {} -
BitTheByte created this gist
May 4, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,60 @@ # -*- coding: utf-8 -*- from telethon.sync import TelegramClient,events import tempfile import logging import os logging.basicConfig(level=logging.WARNING) logging.getLogger('asyncio').setLevel(logging.ERROR) API_HASH = '' API_ID = 0 MAX_MEM = 1000 memory = {} client = TelegramClient('telegram_session', API_ID, API_HASH) async def on_delete_message(saved): user = saved["user"] event = saved["event"] message = event.message.message chat = await client.get_input_entity(user.id) template_msg = "User: %s || Type: Text || Message: {message}" % (user.first_name) template_media = "User: %s || Type: MediaOnly" % (user.first_name) template_media_msg = "User: %s || Type: MediaWithText || Message: {message}" % (user.first_name) if not event.media == None: temp_name = next(tempfile._get_candidate_names()) media = await client.download_media(event.media, temp_name) if message: await client.send_message(chat,template_media_msg.format(message=message), file=media) else: await client.send_message(chat,template_media, file=media) os.unlink(media) return await event.reply(template_msg.format(message=message)) @client.on(events.NewMessage()) async def handler(event): memory.update({ event.id: { "event": event, "user": await client.get_entity(event.from_id) } }) @client.on(events.MessageDeleted) async def handler(event): global memory deleted_ids = event.deleted_ids for deleted_message in deleted_ids: saved = memory[deleted_message] await on_delete_message(saved) if len(memory) >= MAX_MEM: memory = {} client.start() client.run_until_disconnected()