An open API service indexing awesome lists of open source software.

https://github.com/dbelyaeff/troparia-bot


https://github.com/dbelyaeff/troparia-bot

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# ☦️ Тропари и Кондаки — Telegram-бот

Бот генерирует PDF-документы с тропарями и кондаками для Часов (1-й, 3-й, 6-й, 9-й) согласно **Богослужебным указаниям** с сайта [azbyka.ru](https://azbyka.ru).

## Особенности

- 📅 **Календарь с датами** — выбор даты для генерации
- ✝️ **Богослужебный день** — начинается с 17:00 предыдущего дня (православная традиция)
- 📖 **Богослужебные указания** — автоматический парсинг указаний о чтении на Часах
- ✅ **Выбор тропарей и кондаков** — интерактивный выбор с чекбоксами
- 📄 **Генерация PDF** — формат A4 landscape, 2 страницы на листе, шрифт Ponomar Unicode
- 🎯 **Только нужное** — парсятся только те тропари/кондаки, которые указаны для чтения на Часах

## Быстрый старт

### 1. Подготовка

Положите шрифт `PonomarUnicode.otf` в папку `fonts/`

### 2. Создайте `.env`

```bash
BOT_TOKEN=123456:ABC-DEF...
FONT_PATH=/app/fonts/PonomarUnicode.otf
```

### 3. Запуск через Docker

```bash
docker compose up -d
```

### 4. Запуск без Docker

```bash
pip install -r requirements.txt
export BOT_TOKEN=123456:ABC-DEF...
export FONT_PATH=./fonts/PonomarUnicode.otf
python3 bot.py
```

## Как использовать

1. Отправьте боту `/start`
2. Выберите дату из календаря
3. Прочитайте фрагмент из Богослужебных указаний
4. Выберите нужные тропари и кондаки (нажимайте ✅/❌)
5. Нажмите «📄 Сгенерировать PDF»

## Структура проекта

```
troparia-bot/
├── bot.py # Telegram-бот (Long Polling)
├── generator.py # Генератор PDF и парсер azbyka.ru
├── fonts/
│ └── PonomarUnicode.otf # Церковнославянский шрифт
├── requirements.txt # Python-зависимости
├── Dockerfile # Docker-образ
├── docker-compose.yml # Docker Compose конфигурация
├── .env # Переменные окружения (токен бота)
└── README.md # Этот файл
```

## Зависимости

- Python 3.12
- python-telegram-bot 21.6
- requests 2.32
- beautifulsoup4 4.12
- reportlab 4.4
- fonttools 4.55

## Богослужебный день

В православной традиции богослужебный день начинается с **17:00 предыдущего дня**. Бот учитывает это:
- До 17:00 — текущий календарный день
- С 17:00 — следующий календарный день (богослужебный)

## Формат PDF

- **Формат**: A4 landscape (альбомный)
- **Расположение**: 2 страницы на листе (слева и справа)
- **Шрифт**: Ponomar Unicode (церковнославянский)
- **Оформление**: двойные рамки, красный цвет для заголовков

## Источники данных

- [Богослужебные указания](https://azbyka.ru/bogosluzhebnye-ukazaniya) — что читается на Часах
- [Православный календарь](https://azbyka.ru/days/) — тексты тропарей и кондаков

## Лицензия

Проект создан для помощи в подготовке к богослужению.

## Поддержка

Вопросы и предложения: [@dbelyaeff](https://github.com/dbelyaeff)