75 lines
4.9 KiB
Python
75 lines
4.9 KiB
Python
import os
|
||
|
||
# Load environment variables from .env in the project root
|
||
def _load_env():
|
||
# Find the project root (the directory containing config.py)
|
||
root_dir = os.path.dirname(os.path.abspath(__file__))
|
||
dotenv_path = os.path.join(root_dir, ".env")
|
||
if os.path.exists(dotenv_path):
|
||
try:
|
||
with open(dotenv_path, "r", encoding="utf-8") as f:
|
||
for line in f:
|
||
line = line.strip()
|
||
if not line or line.startswith("#"):
|
||
continue
|
||
if "=" in line:
|
||
key, val = line.split("=", 1)
|
||
val = val.strip().strip('"').strip("'")
|
||
os.environ[key.strip()] = val
|
||
except Exception as e:
|
||
print(f"Warning: Failed to load .env file: {e}")
|
||
|
||
_load_env()
|
||
|
||
# VK API Configuration
|
||
# In production, these should be loaded from environment variables or a secure .env file.
|
||
VK_TOKEN = os.getenv("VK_TOKEN", "your_vk_community_token_here")
|
||
GROUP_ID = int(os.getenv("VK_GROUP_ID", "0")) # Community ID (must be integer)
|
||
|
||
# Operator / Admin configuration
|
||
# ID of the user or chat where notifications about new leads and operator requests will be sent
|
||
OPERATOR_PEER_ID = int(os.getenv("OPERATOR_PEER_ID", "12345678")) # Change to actual VK user ID of operator
|
||
|
||
# Parse ADMIN_IDS as a list of integers from comma-separated env values
|
||
admin_ids_raw = os.getenv("ADMIN_IDS")
|
||
if admin_ids_raw:
|
||
try:
|
||
ADMIN_IDS = [int(x.strip()) for x in admin_ids_raw.split(",") if x.strip().isdigit()]
|
||
except Exception:
|
||
ADMIN_IDS = [OPERATOR_PEER_ID]
|
||
else:
|
||
ADMIN_IDS = [OPERATOR_PEER_ID]
|
||
|
||
# Standard replies and patterns
|
||
FAQ_ANSWERS = {
|
||
"цены": "💰 Наши тарифы на киберспортивные тренировки:\n• Тренировка по Dota 2 🎮 — 1 500 ₽/час\n• Тренировка по CS2 🔫 — 1 500 ₽/час\n• Пакет 'Стандарт' 📦 (5 тренировок) — 7 500 ₽\n• Пакет 'Pro' 🌟 (10 тренировок + постоянная поддержка тренера) — 14 000 ₽\n\n🎁 ПОДАРОК: Всем новым ученикам дарим скидку 10% на первую индивидуальную тренировку! Заполните заявку через меню прямо сейчас!",
|
||
"контакты": "📞 Связаться с нами:\n• Телефон: +7 (999) 123-45-67\n• Email: info@cyberpro.com\n• Адрес: г. Москва, Киберспортивная Арена 'Cyber Pro'\n• Режим работы: Ежедневно с 10:00 до 22:00",
|
||
"услуги": "⚙️ Мы предлагаем профессиональное обучение по киберспортивным дисциплинам:\n1. Индивидуальные тренировки по Dota 2 с разбором реплеев и позиционки\n2. Персональные занятия по CS2 (aim, раскидки гранат, командная тактика)\n3. Выгодные абонементы на 5 и 10 занятий с постоянным сопровождением тренера",
|
||
"о компании": "🏢 Мы — школа киберспорта 'Cyber Pro'. Помогаем игрокам любого уровня повышать свой MMR/Faceit Elo, развивать игровое мышление и побеждать на турнирах с 2022 года!\n\nНаши тренеры — действующие и экс-профессиональные игроки с 7000+ MMR и опытом игры на PRO-сцене."
|
||
}
|
||
|
||
# Доступные услуги и тарифы для выбора в форме заявки
|
||
SERVICES = {
|
||
"1": {
|
||
"name": "Тренировка по Dota 2 🎮",
|
||
"price": "1 500 ₽/час",
|
||
"description": "Индивидуальное занятие с опытным тренером, разбор реплеев, позиционка и микроконтроль."
|
||
},
|
||
"2": {
|
||
"name": "Тренировка по CS2 🔫",
|
||
"price": "1 500 ₽/час",
|
||
"description": "Анализ ошибок, тренировка стрельбы (aim), раскидки гранат и командное взаимодействие."
|
||
},
|
||
"3": {
|
||
"name": "Пакет услуг 'Стандарт' 📦",
|
||
"price": "7 500 ₽",
|
||
"description": "5 индивидуальных тренировок по выбранной дисциплине + базовый план развития."
|
||
},
|
||
"4": {
|
||
"name": "Пакет услуг 'Pro' 🌟",
|
||
"price": "14 000 ₽",
|
||
"description": "10 индивидуальных тренировок + детальный разбор матчей + постоянная поддержка тренера."
|
||
}
|
||
}
|
||
|