79 lines
3.7 KiB
Python
79 lines
3.7 KiB
Python
# Конфигурация бота Fly-Fly
|
||
import os
|
||
from dotenv import load_dotenv
|
||
|
||
# Загружаем .env из текущей папки (корень проекта)
|
||
# Ищем сначала .env в корневой папке проекта, затем в папке config
|
||
base_dir = os.path.dirname(os.path.dirname(__file__))
|
||
env_file = os.path.join(base_dir, '.env')
|
||
if not os.path.exists(env_file):
|
||
env_file = os.path.join(os.path.dirname(__file__), '.env')
|
||
load_dotenv(env_file)
|
||
|
||
# Telegram Bot Token
|
||
TELEGRAM_BOT_TOKEN = os.getenv('TELEGRAM_BOT_TOKEN')
|
||
|
||
# Опциональный прокси для Telegram (например: socks5h://user:pass@host:port)
|
||
TELEGRAM_PROXY_URL = os.getenv('TELEGRAM_PROXY_URL')
|
||
|
||
# Таймауты запросов к Telegram API (секунды)
|
||
TELEGRAM_CONNECT_TIMEOUT = int(os.getenv('TELEGRAM_CONNECT_TIMEOUT', '30'))
|
||
TELEGRAM_READ_TIMEOUT = int(os.getenv('TELEGRAM_READ_TIMEOUT', '120'))
|
||
|
||
# Пути к файлам данных
|
||
DATABASE_FILE = 'data/users.json'
|
||
STATS_FILE = 'data/stats.json'
|
||
|
||
# Константы системы
|
||
POINTS_SCHOOL_COMPLETE = 10
|
||
POINTS_REFERRAL_BONUS = 5
|
||
POINTS_BUTTERFLY_ACTIVATION = 30
|
||
|
||
# Максимум приглашений в месяц для бонуса активации
|
||
MAX_ACTIVATIONS_PER_MONTH = 1
|
||
|
||
# Таймауты (в секундах)
|
||
SCHOOL_QUESTION_TIMEOUT = 120
|
||
|
||
# ID администратора для логирования (установлен явно)
|
||
ADMIN_ID = 7665285886
|
||
|
||
# ID группы для проверки подписки (ссылка: https://t.me/+2RjGyDueqqAyM2Ey)
|
||
# Чтобы получить ID, отправьте сообщение в @userinfobot или @RawDataBot
|
||
REQUIRED_GROUP_CHAT_ID = os.getenv('REQUIRED_GROUP_CHAT_ID', '-1002395700013')
|
||
REQUIRED_GROUP_LINK = "https://t.me/+2RjGyDueqqAyM2Ey"
|
||
|
||
# Сообщения
|
||
MESSAGES = {
|
||
'welcome_owner': (
|
||
"🦋 **Привет, ловец бабочек!**\n\n"
|
||
"Добро пожаловать в мир **Fly-Fly**! 🌟\n\n"
|
||
"Ты стал владельцем Бабочкария и готов начать приключение? "
|
||
"Давай сначала пройдём школу бабочковода и узнаем, как ухаживать за этими чудесными созданиями!"
|
||
),
|
||
'welcome_referral': (
|
||
"🦋 **Тебя пригласили в стаю!**\n\n"
|
||
"Ура! Твой друг пригласил тебя присоединиться к его команде в **Fly-Fly**! 🌟\n\n"
|
||
"Сначала пройдём школу бабочковода, а потом ты влишься в стаю!"
|
||
),
|
||
'school_start': (
|
||
"📚 **Школа бабочковода**\n\n"
|
||
"Здесь ты узнаешь всё о бабочках и станешь настоящим ловцом! "
|
||
"Всего 5 увлекательных вопросов. Готов? 🦋"
|
||
),
|
||
'school_complete': (
|
||
"🎉 **Отлично! Ты окончил школу!**\n\n"
|
||
"Ты получил **+{points} очков**! 📈\n\n"
|
||
"Теперь ты готов ловить бабочек и создавать свою стаю!"
|
||
),
|
||
'referral_bonus': (
|
||
"✨ **Новый друг присоединился!**\n\n"
|
||
"{friend_name} вступил в твою стаю! "
|
||
"Ты получил **+{points} очков**! 🎊"
|
||
),
|
||
}
|
||
|
||
# ID или username требуемой группы (например: -1001234567890 или @my_group)
|
||
# Если не указан — проверка членства группы отключена
|
||
REQUIRED_GROUP_CHAT_ID = os.getenv('REQUIRED_GROUP_CHAT_ID')
|