Files
audio_resive/functions/yandex.py
T
2023-11-11 09:47:34 +07:00

52 lines
2.4 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import sqlite3
import time
import requests
from aiogram import types
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
async def create_yandex(message: types.Message):
conn = sqlite3.connect('db.sql')
cur = conn.cursor()
response = cur.execute("SELECT * FROM yandex WHERE user_id=?", (message.from_user.id, )).fetchall()
conn.close()
if response:
await message.reply("Ваш аккаунт уже добавлен")
options = webdriver.ChromeOptions()
options.add_argument("--headless")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get('https://passport.yandex.ru/auth/')
time.sleep(1)
driver.find_element(By.CLASS_NAME, "Button2").click()
time.sleep(1)
driver.find_element(By.XPATH, '//*[@id="passp-field-login"]').send_keys(message.text.split()[1])
driver.find_element(By.XPATH, '//*[@id="passp:sign-in"]').click()
time.sleep(1)
driver.find_element(By.XPATH, '//*[@id="passp-field-passwd"]').send_keys(message.text.split()[2])
driver.find_element(By.XPATH, '//*[@id="passp:sign-in"]').click()
time.sleep(5)
try:
cookies = [i["value"] for i in driver.get_cookies() if i["name"] == "Session_id"][0]
conn = sqlite3.connect('db.sql')
cur = conn.cursor()
cur.execute("INSERT INTO yandex (user_id, Session_id) VALUES (?, ?)", (message.from_user.id, str(cookies)))
conn.commit()
conn.close()
await message.reply("Ваш аккаунт добавлен")
except IndexError:
await message.reply("Ошибка пароля или логина")
async def statistic(message: types.Message):
conn = sqlite3.connect('db.sql')
cur = conn.cursor()
response = cur.execute("SELECT * FROM yandex WHERE user_id=?", (message.from_user.id,)).fetchall()
conn.close()
if not response:
await message.reply("Сначала используйте /create_yandex с логином и паролем для добавление аккаунта")
cookies = {"Session_id": response[0][2]}
response = requests.get("https://lyceum.yandex.ru/api/notifications?isRead=false&limit=20", cookies=cookies)
await message.reply(f'У вас {response.json()["unreadCount"]} уведомлений. Прочитайте хоть')