bot_of_pray/README.md

151 lines
4.9 KiB
Markdown
Raw 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.

# 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:
* Базовая функциональность
* Система уведомлений
* Управление записями
* Админ-панель