# Каркас ## Что такое «Каркас»? Каркас — это платформа для разработки модульных Telegram-ботов, которая призвана упростить взаимодействие с чатами. «Каркас» предоставляет возможность расширять функциональность бота с помощью интеграции различных модулей. Код платформы и набор стандартных модулей находятся в этом монорепозитории. ## Структура монорепозитория Монорепозиторий Karkas включает в себя: - **Ядро Karkas (`src/karkas_core`):** Основные компоненты платформы, такие как система управления модулями, логирование и утилиты. - **Блоки Karkas (`src/karkas_blocks`):** Содержит стандартные и дополнительные модули, которые расширяют функциональность ботов, созданных на платформе «Каркас». - **Бот Gnomик (`src/gnomik`):** Пример реализации бота, созданного на основе платформы «Каркас». ## Модули Модули Karkas — это независимые компоненты, которые добавляют функциональность бота. ### Структура модуля Структура модуля представлена [здесь](docs/MODULES-SPEC.md). ### Стандартные модули Стандартные модули предоставляют базовые функции для работы бота Полный перечень стандартных модулей: - [`admin`](src/karkas_blocks/karkas_blocks/standard/admin/README.md) — модуль модерирования чата; - [`roles`](src/karkas_blocks/karkas_blocks/standard/roles/README.md) — модуль управления ролями пользователей; - [`config`](src/karkas_blocks/karkas_blocks/standard/config/README.md) — модуль управления конфигурацией бота; - [`database`](src/karkas_blocks/karkas_blocks/standard/database/README.md) — модуль для работы с базой данных; - [`fsm_database_storage`](src/karkas_blocks/karkas_blocks/standard/fsm_database_storage/README.md) — модуль для хранения состояний FSM в базе данных; - [`filters`](src/karkas_blocks/karkas_blocks/standard/filters/README.md) — модуль, предоставляющий фильтры для `aiogram`; - [`message_processing`](src/karkas_blocks/karkas_blocks/standard/message_processing/README.md) — модуль обработки входящих сообщений; - [`miniapp`](src/karkas_blocks/karkas_blocks/standard/miniapp/README.md) — модуль для реализации веб-интерфейса бота; - [`command_helper`](src/karkas_blocks/karkas_blocks/standard/command_helper/README.md) — модуль для упрощения регистрации команд бота; - [`info`](src/karkas_blocks/karkas_blocks/standard/info/README.md) — модуль предоставления информации о пользователях и чатах. ### Дополнительные официальные модули Дополнительные официальные модули созданы командой разработки платформы «Каркас» и предоставляют расширенные возможности для бота: - [`yandexgpt`](src/karkas_blocks/karkas_blocks/external/yandexgpt/README.md) — модуль для интеграции с нейросетью YandexGPT; - [`create_report_apps`](src/karkas_blocks/karkas_blocks/external/create_report_apps/README.md) — модуль для создания отчётов об ошибках.