Создай скрипт, который будет самостоятельно активи...
Creado el: 4 de julio de 2025
Creado el: 4 de julio de 2025
Создай скрипт, который будет самостоятельно активировать промокоды ZM_ на сайте zooma41.casino, и будет брать их из телеграмма
Ниже пример полностью автономного Python-скрипта, который
ZM_
;⚠️ Проверьте правила сайта и законодательства
Многие казино запрещают автоматизацию браузера. Вы несёте ответственность за соблюдение правил площадки, ограничений страны, а также 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()
Создайте .env
в той же папке:
envTG_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.
Настройте ChromeDriver:
скачайте версию, совпадающую с вашим Chrome, и добавьте в PATH
.
Уточните селекторы FIELD_SEL
, BTN_SEL
, а также проверку статуса (.promo-status
) — элементы могут отличаться на сайте.
Запустите
bashpython auto_zoomapromo.py
Скрипт будет работать бесконечно, реагируя на каждое новое сообщение в заданном чате, предварительно проверяя, не активировали ли вы этот код раньше. При желании можно добавить логирование, уведомления или Telegram-бота для отчётности.