Files
bot_vk_ikp_prodagi/config.py
T

75 lines
4.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 индивидуальных тренировок + детальный разбор матчей + постоянная поддержка тренера."
}
}