Создай скрипт, который будет самостоятельно активи...

Creado el: 4 de julio de 2025

Respondido usando O3 por Chat01

Pregunta

Создай скрипт, который будет самостоятельно активировать промокоды ZM_ на сайте zooma41.casino, и будет брать их из телеграмма

Pensamiento

Creating a Python automation script

Since the user wrote in Russian, I'll reply in Russian. I'll explain how to automate Telegram messaging using Telethon, and automate a website interaction using Selenium. The script will connect to Telegram, listen for codes starting with 'ZM_', and then use Selenium to input those codes on the site. I'll also mention that using automation for websites may violate their terms, and that the user should verify the rules. Finally, the user should adjust selectors as needed, as we don't have them.

Thought for 15 seconds

Respuesta

Ниже пример полностью автономного Python-скрипта, который

  1. подхватывает в Телеграме все сообщения, содержащие промокоды, начинающиеся с ZM_;
  2. запоминает, какие коды уже были активированы, чтобы не дублировать;
  3. открывает сайт zooma41.casino и вводит код в поле активации, нажимая кнопку «Активировать».

⚠️ Проверьте правила сайта и законодательства
Многие казино запрещают автоматизацию браузера. Вы несёте ответственность за соблюдение правил площадки, ограничений страны, а также API-лимитов Telegram.

bash
# Установите зависимости pip install telethon selenium python-dotenv # ChromeDriver должен соответствовать версии вашего Chrome и быть в PATH
python
# auto_zoomapromo.py import os import re import sqlite3 import time from contextlib import closing from telethon import TelegramClient, events from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from dotenv import load_dotenv load_dotenv() # --- Настройки -------------------------------------------------------------- API_ID = int(os.getenv("TG_API_ID")) # env: TG_API_ID API_HASH = os.getenv("TG_API_HASH") # env: TG_API_HASH SESSION = os.getenv("TG_SESSION", "session") # путь к .session-файлу SRC_CHAT = os.getenv("TG_SRC_CHAT") # @channel, id или имя группы URL_PROMO = "https://zooma41.casino/promocode" # страница ввода кодов FIELD_SEL = "input[name='promo']" # CSS-селектор текстового поля BTN_SEL = ".btn-apply" # CSS-селектор кнопки «Активировать» DB_PATH = "used_codes.db" TIMEOUT = 20 # секунд ожидания элемента # --------------------------------------------------------------------------- code_pattern = re.compile(r'\bZM_[A-Z0-9]+\b') # --- База для уже использованных кодов -------------------------------------- with closing(sqlite3.connect(DB_PATH)) as db: db.execute("CREATE TABLE IF NOT EXISTS used(code TEXT PRIMARY KEY)") db.commit() def code_is_new(code: str) -> bool: with closing(sqlite3.connect(DB_PATH)) as db: cur = db.execute("SELECT 1 FROM used WHERE code = ?", (code,)) exists = cur.fetchone() is not None if not exists: db.execute("INSERT INTO used(code) VALUES (?)", (code,)) db.commit() return not exists # --------------------------------------------------------------------------- # --- Функция активации через Selenium -------------------------------------- def activate_code(code: str) -> None: options = webdriver.ChromeOptions() # options.add_argument("--headless") # Раскомментируйте, если хотите без UI with webdriver.Chrome(options=options) as driver: driver.get(URL_PROMO) # Если нужно залогиниться — вставьте сюда код авторизации # driver.find_element(By.CSS_SELECTOR, "input[name='login']").send_keys(...) # ... field = WebDriverWait(driver, TIMEOUT).until( EC.visibility_of_element_located((By.CSS_SELECTOR, FIELD_SEL)) ) field.clear() field.send_keys(code) btn = driver.find_element(By.CSS_SELECTOR, BTN_SEL) btn.click() # Подождите подтверждения (измените селектор/условие под свой UI) WebDriverWait(driver, TIMEOUT).until( EC.text_to_be_present_in_element( (By.CSS_SELECTOR, ".promo-status"), "успешно" ) ) print(f"[OK] Код {code} активирован") time.sleep(2) # небольшая задержка между кодами # --------------------------------------------------------------------------- # --- Основной Telegram-клиент ---------------------------------------------- client = TelegramClient(SESSION, API_ID, API_HASH) @client.on(events.NewMessage(chats=SRC_CHAT)) async def handler(event): text = event.raw_text.upper() for match in code_pattern.findall(text): if code_is_new(match): print(f"[NEW] Найден код {match}; запускаю активацию…") try: activate_code(match) except Exception as e: print(f"[ERR] Не удалось активировать {match}: {e}") else: print(f"[SKIP] Код {match} уже использовался") def main(): print("🔄 Слушаю Телеграм-канал/чат на предмет новых ZM_-кодов…") with client: client.run_until_disconnected() if __name__ == "__main__": main()

Как запустить

  1. Создайте .env в той же папке:

    env
    TG_API_ID=123456 TG_API_HASH=abcdef1234567890abcdef1234567890 TG_SESSION=zoomapromo TG_SRC_CHAT=@your_channel_or_group

    Получить api_id/api_hash можно на https://my.telegram.org.

  2. Настройте ChromeDriver:
    скачайте версию, совпадающую с вашим Chrome, и добавьте в PATH.

  3. Уточните селекторы FIELD_SEL, BTN_SEL, а также проверку статуса (.promo-status) — элементы могут отличаться на сайте.

  4. Запустите

    bash
    python auto_zoomapromo.py

Скрипт будет работать бесконечно, реагируя на каждое новое сообщение в заданном чате, предварительно проверяя, не активировали ли вы этот код раньше. При желании можно добавить логирование, уведомления или Telegram-бота для отчётности.

Compartir este Q&A