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"]} уведомлений. Прочитайте хоть')