Загрузка...

Делюсь своим скриптом на Телетон Конвертор 3

Тема в разделе Python создана пользователем ruffbuff 22 фев 2025. 191 просмотр

  1. ruffbuff
    ruffbuff Автор темы 22 фев 2025 I use Arch btw... 258 9 фев 2025
    Просто забирай ;3
     
  2. ruffbuff
    ruffbuff Автор темы 22 фев 2025 I use Arch btw... 258 9 фев 2025
    Код

    from opentele.td import TDesktop
    from opentele.tl import TelegramClient
    from opentele.api import UseCurrentSession
    import asyncio
    from art import text2art
    from colorama import Fore, Style, init
    import os

    init()
    green = Fore.GREEN
    red = Fore.RED
    reset = Style.RESET_ALL

    def print_banner():
    art = text2art("Converter", "small")
    print(green + art + reset)

    async def convert_session_to_tdata(session_file, tdata_path):
    try:
    client = TelegramClient(session_file)
    tdesk = await client.ToTDesktop(flag=UseCurrentSession)
    tdesk.SaveTData(tdata_path)
    print(f"{green}Session '{session_file}' successfully converted to tdata in '{tdata_path}'{reset}")
    except Exception as e:
    print(f"{red}Error converting '{session_file}': {str(e)}{reset}")

    async def convert_tdata_to_session(tdata_folder, session_file):
    try:
    tdesk = TDesktop(tdata_folder)
    assert tdesk.isLoaded()
    client = await tdesk.ToTelethon(session=session_file, flag=UseCurrentSession)
    await client.connect()
    await client.PrintSessions()
    print(f"{green}Tdata in '{tdata_folder}' successfully converted to session '{session_file}'{reset}")
    except Exception as e:
    print(f"{red}Error converting tdata in '{tdata_folder}': {str(e)}{reset}")

    async def main():
    print_banner()
    print("1. Convert .session to tdata")
    print("2. Convert tdata to .session")
    choice = input("Select action: ")

    if choice == "1":
    session_folder = "sessions" # CHANGE IF YOU WANT
    base_tdata_path = "datas" # CHANGE IF YOU WANT
    os.makedirs(base_tdata_path, exist_ok=True)
    for file in os.listdir(session_folder):
    if file.endswith(".session"):
    session_file = os.path.join(session_folder, file)
    tdata_path = os.path.join(base_tdata_path, os.path.splitext(file)[0])
    os.makedirs(tdata_path, exist_ok=True)
    await convert_session_to_tdata(session_file, tdata_path)
    elif choice == "2":
    tdata_folder = "datas/tdata" # CHANGE IF YOU WANT
    session_file = "sessions/session.session" # CHANGE IF YOU WANT
    await convert_tdata_to_session(tdata_folder, session_file)
    else:
    print(f"{red}Invalid choice{reset}")

    asyncio.run(main())
     
    22 фев 2025 Изменено
  3. diklor
    diklor 27 мар 2025 Заблокирован(а) 1 3 ноя 2024
    как всегда дристня брат
     
Top
Загрузка...