Skip to content

ValeriiGithub/book_bot

Repository files navigation

book_bot

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 - модуль для подготовки книги, чтобы боту было удобно с ней работать

Установка

  1. Клонируйте репозиторий с GitHub.
  2. Установите необходимые зависимости, используя pip:
    pip install -r requirements.txt
  3. Создайте файл .env в корневой директории и добавьте в него следующие переменные:
    TELEGRAM_API_TOKEN = 'Ваш Telegram API Token'
  4. Запустите бота, используя Python:
    python bot.py

Использование

После установки и запуска бота вы можете взаимодействовать с ним в Telegram. Отправьте команду /start, чтобы начать чтение книги, и используйте предоставленные команды и кнопки для навигации по книге.

Вклад

Если вы хотите внести свой вклад в развитие этого проекта, не стесняйтесь отправлять запросы. Всегда рад улучшениям и новым идеям!

Лицензия

Этот проект лицензирован под MIT License - подробности смотрите в файле LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages