diff --git a/.env b/.env new file mode 100644 index 0000000..364fcaf --- /dev/null +++ b/.env @@ -0,0 +1,97 @@ +# ============================================================================ +# НАСТРОЙКА БОТА «Кибершкола БАЗА» — файл .env +# ============================================================================ +# Это ШАБЛОН. Что делать: +# 1) Скопируйте этот файл рядом и назовите ровно .env (без .example). +# Проще: запустите start_bot.bat — он сам создаст .env и откроет его в +# Блокноте. Заполните, сохраните, запустите start_bot.bat снова. +# 2) Заполните строки из раздела 1 и 2 (помечены «ОБЯЗАТЕЛЬНО»). Остальное — +# по желанию. +# +# ПРАВИЛА ЗАПОЛНЕНИЯ (важно!): +# • Формат строки: ПЕРЕМЕННАЯ=значение — без пробелов вокруг «=», без кавычек. +# • НЕ пишите комментарии в одной строке со значением. Комментарий — только +# на отдельной строке, начинается с #. +# • Числовые поля (ID, порт) не оставляйте пустыми — впишите число. +# ============================================================================ + + +# ───────────────── 1. ПОДКЛЮЧЕНИЕ К СООБЩЕСТВУ (ОБЯЗАТЕЛЬНО) ────────────── +# VK_TOKEN — ключ доступа ВАШЕГО сообщества: +# Сообщество → Управление → Работа с API → Ключи доступа → Создать ключ +# (право «Сообщения сообщества») → скопировать сюда. +# Там же: Работа с API → Long Poll API → включить, версия — последняя. +VK_TOKEN=your_vk_community_token_here + +# VK_GROUP_ID — числовой ID сообщества (только цифры). Замените 0 на свой ID. +# Узнать ID: Управление → Работа с API (виден там), либо через vk.com. +VK_GROUP_ID=0 + + +# ───────────────── 2. КОМУ ПРИХОДЯТ ЗАЯВКИ (ОБЯЗАТЕЛЬНО) ────────────────── +# OPERATOR_PEER_ID — VK ID человека, которому падают заявки/запросы клиентов. +# Узнать свой ID можно, написав боту @idbot во ВКонтакте. +OPERATOR_PEER_ID=350793273 + +# ADMIN_IDS — у кого есть «Админка» в боте (через запятую, только цифры). +# Обычно тот же ID, что OPERATOR_PEER_ID. Пример: 350793273,12345678 +ADMIN_IDS=350793273,25076348,9782434,255661162 + +# (Необязательно) Несколько операторов — заявки уйдут ВСЕМ. Через запятую. +# OPERATOR_PEER_IDS=350793273,12345678 + +# (Необязательно) Часы работы — вне их клиенту пишем «ответим утром». +WORK_HOUR_START=9 +WORK_HOUR_END=21 + + +# ───────────────── 3. ПОЧТА ДЛЯ ЗАЯВОК (по желанию) ────────────────────── +# Заполните — и каждая заявка продублируется на почту. Оставите пусто — бот +# работает как обычно, просто письма не шлёт. +# SMTP_HOST — сервер почты, напр. smtp.yandex.ru / smtp.mail.ru / smtp.gmail.com +SMTP_HOST= +# SMTP_PORT — 465 для SSL (обычно), 587 для STARTTLS +SMTP_PORT=465 +# SMTP_USER — полный email-логин +SMTP_USER= +# SMTP_PASSWORD — ПАРОЛЬ ПРИЛОЖЕНИЯ (для Яндекс/Gmail), не основной пароль! +SMTP_PASSWORD= +# MAIL_FROM — от кого (пусто = как SMTP_USER) +MAIL_FROM= +# MAIL_TO — куда слать заявки (можно несколько через запятую) +MAIL_TO=group-zakaz@infocyber.pro +# SMTP_USE_SSL — true для порта 465, false для 587 +SMTP_USE_SSL=true + + +# ───────────────── 4. ССЫЛКИ КНОПОК ЗАПИСИ/ОПЛАТЫ ──────────────────────── +# Куда ведут кнопки в боте. Их также можно менять прямо из «Админки → Ссылки». +# UTM-метки бот добавляет сам. +LINK_TRIAL=https://infocyber.pro/form/index.html +LINK_TARIFFS=https://infocyber.pro/#prices +LINK_GROUP_4=https://infocyber.pro/form/index.html?service_id=web_2 +LINK_GROUP_8=https://infocyber.pro/form/index.html?service_id=web_3 +LINK_IND_1=https://infocyber.pro/form/index.html?service_id=web_1 +LINK_IND_4=https://infocyber.pro/form/index.html?service_id=web_4 +LINK_IND_8=https://infocyber.pro/form/index.html?service_id=web_5 +# LINK_SUMMER — летний интенсив (замените, когда будет своя страница) +LINK_SUMMER=https://infocyber.pro/form/index.html + + +# ───────────────── 5. ЭКСТРЕННЫЙ СТОП /favi-stop (по желанию) ───────────── +# Команда /favi-stop у супер-админа отключает бота по паролю. Хранится ХЭШ +# пароля, а не сам пароль. Пусто — команда отключена. +# Сгенерировать хэш своего пароля (замените ВАШ_ПАРОЛЬ): +# py -3.11 -c "import hashlib,os,sys; s=os.urandom(16); print('pbkdf2_sha256$240000$'+s.hex()+'$'+hashlib.pbkdf2_hmac('sha256',sys.argv[1].encode(),s,240000).hex())" "ВАШ_ПАРОЛЬ" +FAVI_STOP_HASH= + + +# ───────────────── ПРОЧЕЕ (можно не трогать) ───────────────────────────── +ALLOWED_ORIGIN=https://infocyber.pro +PROMO_ENABLED=false + +# ============================================================================ +# СУПЕР-АДМИН (кто добавляет админов и делает /favi-stop) задаётся НЕ здесь, +# а в коде — файл config.py, список SUPER_ADMIN_IDS. +# Готово? Запускайте start_bot.bat. +# ============================================================================ diff --git a/.gitignore b/.gitignore index 3dc9efc..0947f1d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ -# Configuration files containing credentials -.env +# .env НАМЕРЕННО добавлен в репозиторий как ГОТОВЫЙ шаблон (ID уже вписаны, +# токен — заглушка). ВАЖНО: реальный VK_TOKEN вписывается только локально на +# машине с ботом и в репозиторий пушить его НЕ нужно. # Python byte-compiled files __pycache__/