Telegram-бот и мини-приложение для прослушивания Священного Корана. Поддерживает русский и узбекский языки.
- 🎙 5 чтецов на выбор через inline-режим
- 📖 Поиск сур по номеру (
3) и аятов (6:12) - ⚡ Кэширование аудио — повторные запросы мгновенны
- 🔀 Навигация вперёд/назад между сурами и аятами
- 🔗 Кнопка поделиться — отправить аудио в любой чат
- 🌍 Два языка интерфейса: русский и узбекский
- 📊 Команда
/statsдля администратора - 📤 Команда
/broadcastдля рассылки всем пользователям
- 🌙 Тёмная тема по умолчанию (с переключением на светлую)
- 📜 Два режима просмотра: по сурам и по аятам
- 🎵 Встроенный плеер в стиле Spotify/Яндекс.Музыки с анимацией диска
- ❤️ Избранное — суры и аяты сохраняются локально
- ⏱ Таймер автовыключения с круговым циферблатом
- 🔄 Автопереход к следующей суре после завершения
- 💾 Сохранение выбранного чтеца между сессиями
- 🕌 Арабский текст + перевод на выбранном языке для каждого аята
| # | Имя |
|---|---|
| 1 | Мишари Рашид Аль-Афаси |
| 2 | Абу Бакр Аш-Шатри |
| 3 | Насер Аль-Катами |
| 4 | Ясир Аль-Досари |
| 5 | Хани Ар-Рифаи |
- aiogram 3 — Telegram Bot API
- Pyrogram — загрузка больших файлов (>50 МБ) через user-клиент
- asyncpg — асинхронный драйвер PostgreSQL
- aiohttp — HTTP-запросы к Quran API
- quranapi.pages.dev — аудио файлы
- alquran.cloud — переводы аятов (ru.kuliev, uz.sodik)
- Telegram Mini App (Vanilla JS) — фронтенд без фреймворков
git clone https://github.com/jacurlive/quran_bot.git
cd quran_botpython3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtcp .env.example .envЗаполнить .env:
BOT_TOKEN= # токен от @BotFather
DATABASE_URL= # postgresql://user:pass@localhost/dbname
API_ID= # api_id с my.telegram.org
API_HASH= # api_hash с my.telegram.org
PHONE= # номер телефона аккаунта (+998...)
STORAGE_CHANNEL_ID= # ID канала для хранения аудио
ADMIN_ID= # ваш Telegram user IDСоздайте приватный Telegram-канал, добавьте туда аккаунт Pyrogram как администратора. ID канала вставьте в STORAGE_CHANNEL_ID.
python bot.pyПри первом запуске Pyrogram запросит код подтверждения из SMS.
| Команда / действие | Описание |
|---|---|
/start |
Запуск бота, выбор языка |
/language |
Сменить язык |
3 |
Получить суру №3 целиком |
6:12 |
Получить аят 12 из суры 6 |
/stats |
Статистика (только админ) |
/broadcast текст |
Рассылка всем (только админ) |
quran_bot/
├── bot.py # точка входа
├── config.py # конфигурация из .env
├── locales.py # тексты на ru/uz
├── database/
│ ├── db.py # подключение и инициализация БД (PostgreSQL)
│ └── models.py # функции работы с данными
├── handlers/
│ ├── start.py # /start, /language
│ ├── reciter.py # inline выбор чтеца, поделиться
│ ├── quran.py # поиск сур и аятов, навигация
│ └── admin.py # /stats, /broadcast
├── keyboards/
│ └── keyboards.py # клавиатуры
├── services/
│ ├── quran_api.py # запросы к Quran API
│ └── uploader.py # загрузка аудио через Pyrogram
├── miniapp/
│ └── index.html # Telegram Mini App (один файл)
├── .env.example
├── requirements.txt
└── README.md