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
No description provided
Readme 674 KiB
Languages
Python 100%