151 lines
4.9 KiB
Markdown
151 lines
4.9 KiB
Markdown
# 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 для деплоя
|
||
* Настройте мониторинг состояния бота
|
||
* Добавьте систему автоматического перезапуска
|
||
* Обеспечьте регулярное резервное копирование данных
|
||
|
||
## Поддержка и развитие
|
||
|
||
### Документация:
|
||
* Все основные функции документированы в коде
|
||
* Добавлены комментарии к критическим участкам
|
||
|
||
### Тестирование:
|
||
* Реализовано базовое логирование ошибок
|
||
* Добавлены проверки корректности данных
|
||
## Контактная информация
|
||
|
||
### Поддержка:
|
||
Для вопросов и предложений обращайтесь к разработчикам
|
||
## Лицензирование
|
||
|
||
### Лицензия:
|
||
|
||
MIT
|
||
|
||
## История изменений
|
||
|
||
### Версия 1.0:
|
||
|
||
* Базовая функциональность
|
||
|
||
* Система уведомлений
|
||
|
||
* Управление записями
|
||
|
||
* Админ-панель
|
||
|
||
|
||
|