You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.0 KiB
68 lines
2.0 KiB
import os |
|
import sys |
|
import time |
|
|
|
#Gettit with pip bro |
|
from telethon import TelegramClient, events, utils |
|
import json |
|
|
|
def get_env(name, message, cast=str): |
|
if name in os.environ: |
|
return os.environ[name] |
|
while True: |
|
value = input(message) |
|
try: |
|
return cast(value) |
|
except ValueError as e: |
|
print(e, file=sys.stderr) |
|
time.sleep(1) |
|
sesion = get_env('TG_SESION', 'Enter your API sesion name: ') |
|
api_id = get_env('TG_API_ID', 'Enter your API ID: ', int) |
|
api_hash = get_env('TG_API_HASH', 'Enter your API hash: ') |
|
|
|
# Create and start the client so we can make requests |
|
with TelegramClient(sesion, api_id, api_hash, spawn_read_thread=False)).start() as client: |
|
client.start() |
|
me = client.get_me() |
|
|
|
#TODO: selector de conversaciones si el bot no esta inicializado |
|
chat1 = client.get_entity('t.me/lonami') |
|
createNewDump('lonami', chat1) |
|
|
|
chat2 = client.get_entity('t.me/lol') |
|
createNewDump('lol', chat2) |
|
|
|
chat3 = client.get_entity('t.me/telegram') |
|
createNewDump('telegram', chat3) |
|
|
|
chats = (chat1, chat2, chat3) |
|
|
|
|
|
|
|
|
|
@client.on.message(events.NewMessage(chats=chats, incoming = True)) |
|
|
|
def handler(events): |
|
event.get |
|
|
|
def createNewDump(name, entity): |
|
filePath = "./dumps/"+name+"Dump.json" |
|
if !os.path.isfile(filePath): |
|
with open(filePath,"w+") as f: |
|
meta = {'meta':[{ |
|
'name': name, |
|
'entity': entity, |
|
'creationDate': strftime("%Y-%m-%d %H:%M:%S", gmtime()) |
|
}]} |
|
json.dump(meta, f) |
|
|
|
|
|
def addEntryToDump(name, element): |
|
#TODO Test si existe el dump anterior |
|
filePath = "./dumps/"+name+"Dump.json" |
|
with open(filePath,"w+") as f: |
|
message = {'mensaje':[{ |
|
'element': element, |
|
'Date': strftime("%Y-%m-%d %H:%M:%S", gmtime()) |
|
}]} |
|
json.dump(meta, f) |