# Telegram-бот для молитвенного поминания ## Описание проекта Бот предоставляет пользователям возможность отправлять имена для молитвенного поминания священнику. Система позволяет добавлять имена в разные типы записок, оставлять комментарии и управлять своими записями. ## Основные функции ### Типы записок: * О здравии * За упокой * Комментарии ### Управление записями: * Просмотр текущих записей * Добавление новых имен * Очистка записей * Сохранение изменений ### Админ-панель: * Получение уведомлений о новых записях * Статистика использования * Управление записями ## Архитектура проекта ### Структура папок: * handlers/ - обработчики команд и callback-запросов * utils/ - вспомогательные функции * messages.py - текстовые сообщения * main.py - точка входа приложения * prefixes.json - файл с префиксами * requirements.txt - зависимости проекта ## Основные компоненты ### Обработчики: * Пользовательские команды * Callback-запросы * Админ-команды * Базовые функции * Утилиты: * Работа с базой данных ### Форматирование сообщений * Отправка уведомлений * Логирование ## Требования и установка ### Необходимые зависимости: * Python 3.8+ * Python-telegram-bot * Дополнительные библиотеки из requirements.txt Настройка и запуск ## Настройка и запуск ###Контейнеризация проекта Проект реализован с использованием Docker Compose. Конфигурация описана в файле docker-compose.yaml: ```yaml services: telegram-bot: image: python volumes: - ./python-bot:/usr/src/app - ./secrets:/usr/src/app/secrets - ./requirements.txt:/usr/src/app/requirements.txt working_dir: /usr/src/app command: python main.py environment: - TELEGRAM_TOKEN_FILE=/usr/src/app/secrets/token.txt - TELEGRAM_DATABASE=/usr/src/app/data.json - TELEGRAM_ADMINS=/usr/src/app/secrets/admins.txt entrypoint: ["sh", "-c", "export PIP_ROOT_USER_ACTION=ignore && pip install -r /usr/src/app/requirements.txt && pip install --upgrade pip && python main.py"] ``` ### Настройка окружения: * Создайте файл .env с необходимыми переменными: ```bash TELEGRAM_TOKEN_FILE=path/to/token.txt TELEGRAM_DATABASE=path/to/database.json TELEGRAM_ADMINS=path/to/admins.txt ``` ### Установка зависимостей: ```bash pip install -r requirements.txt ``` ### Запуск бота: ``` bash python main.py ``` ## Структура данных ### База данных: Хранится в формате JSON ### Структура: ``` { "user_id": { "О здравии": ["имя1", "имя2"], "За упокой": ["имя1", "имя2"], "Комментарий": "текст комментария" } } ``` ## Развертывание ### Рекомендации: * Используйте Docker для деплоя * Настройте мониторинг состояния бота * Добавьте систему автоматического перезапуска * Обеспечьте регулярное резервное копирование данных ## Поддержка и развитие ### Документация: Все основные функции документированы в коде Добавлены комментарии к критическим участкам ### Тестирование: Реализовано базовое логирование ошибок Добавлены проверки корректности данных ## Контактная информация ### Поддержка: Для вопросов и предложений обращайтесь к разработчикам ## Лицензирование Лицензия: GPL3.0 ## История изменений ### Версия 1.0: Базовая функциональность Система уведомлений Управление записями Админ-панель