Fly.team.bot/config/config.py

79 lines
3.7 KiB
Python
Raw Permalink 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.

# Конфигурация бота 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')