book_bot - это бот для Telegram, который позволяет читать книгу прямо в боте, не выходя из Telegram. Бот разработан с использованием Python и aiogram.
- Загрузка страниц книги из хранилища и отправка их в чат в виде сообщений с кнопками.
- Сохранение страницы, на которой остановился пользователь, и загрузка книги с этого места при следующем входе.
- Возможность перехода в начало книги.
- Сохранение закладок - страниц книги, которые пользователь пожелал сохранить.
- Редактирование закладок (удаление ненужных).
Пользователь отправляет команду /start боту (или стартует его, найдя в поиске). Бот приветствует пользователя, сообщает, что пользователь может прочитать книгу прямо в чате с ботом, а также предлагает пользователю посмотреть список доступных команд, отправив команду /help.
- 📁 Bookbot - корневая директория всего проекта
- bot.py - основной исполняемый файл - точка входа в бот
- .env - файл с переменными окружения (секретными данными) для конфигурации бота
- .env.example - файл с примерами секретов для GitHub
- .gitignore - файл, сообщающий гиту какие файлы и директории не отслеживать
- 📁 book - директория, в которой хранится файл книги
- book.txt - собственно, сам текстовый файл книги
- 📁 config_data - директория с модулем конфигурации бота
- config.py - модуль для конфигурации бота
- 📁 database - пакет для работы с базой данных
- database.py - модуль с шаблоном нашей "игрушечной" базы данных
- 📁 filters - пакет с самописными фильтрами
- filters.py - модуль с фильтрами, которые мы напишем под конкретные задачи бота
- 📁 handlers - пакет с обработчиками
- other_handlers.py - модуль с обработчиком любых сообщений пользователя, которые не попали в другие обработчики
- user_handlers.py - модуль с хэндлерами пользователей. Все основные обработчики апдейтов бота будут в этом модуле
- 📁 keyboards - пакет с клавиатурами бота
- bookmarks_kb.py - модуль с клавиатурами для работы с закладками пользователя
- main_menu.py - модуль для формирования главного меню бота
- pagination_kb.py - модуль для формирования кнопок пагинации - для управления книгой
- 📁 lexicon - директория для хранения словарей бота
- lexicon.py - файл со словарем соответствий команд и запросов отображаемым текстам
- 📁 services - пакет со вспомогательными инструментами для работы бота
- file_handling.py - модуль для подготовки книги, чтобы боту было удобно с ней работать
- Клонируйте репозиторий с GitHub.
- Установите необходимые зависимости, используя pip:
pip install -r requirements.txt
- Создайте файл .env в корневой директории и добавьте в него следующие переменные:
TELEGRAM_API_TOKEN = 'Ваш Telegram API Token'
- Запустите бота, используя Python:
python bot.py
После установки и запуска бота вы можете взаимодействовать с ним в Telegram. Отправьте команду /start, чтобы начать чтение книги, и используйте предоставленные команды и кнопки для навигации по книге.
Если вы хотите внести свой вклад в развитие этого проекта, не стесняйтесь отправлять запросы. Всегда рад улучшениям и новым идеям!
Этот проект лицензирован под MIT License - подробности смотрите в файле LICENSE.