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:
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 с необходимыми переменными:
TELEGRAM_TOKEN_FILE=path/to/token.txt
TELEGRAM_DATABASE=path/to/database.json
TELEGRAM_ADMINS=path/to/admins.txt
Установка зависимостей:
pip install -r requirements.txt
Запуск бота:
python main.py
Структура данных
База данных:
Хранится в формате JSON
Структура:
{
"user_id": {
"О здравии": ["имя1", "имя2"],
"За упокой": ["имя1", "имя2"],
"Комментарий": "текст комментария"
}
}
Развертывание
Рекомендации:
- Используйте Docker для деплоя
- Настройте мониторинг состояния бота
- Добавьте систему автоматического перезапуска
- Обеспечьте регулярное резервное копирование данных
Поддержка и развитие
Документация:
- Все основные функции документированы в коде
- Добавлены комментарии к критическим участкам
Тестирование:
- Реализовано базовое логирование ошибок
- Добавлены проверки корректности данных
Контактная информация
Поддержка:
Для вопросов и предложений обращайтесь к разработчикам
Лицензирование
Лицензия:
MIT
История изменений
Версия 1.0:
-
Базовая функциональность
-
Система уведомлений
-
Управление записями
-
Админ-панель
Description
Languages
Python
100%