2024-08-24 15:34:13 +03:00
# Каркас
2023-11-27 00:25:19 +03:00
2024-08-24 15:34:13 +03:00
## Что такое «Каркас»?
2023-11-27 00:25:19 +03:00
2024-08-24 15:34:13 +03:00
Каркас — это платформа для разработки модульных Telegram-ботов, которая призвана упростить взаимодействие с чатами. «Каркас» предоставляет возможность расширять функциональность бота с помощью интеграции различных модулей. Код платформы и набор стандартных модулей находятся в этом монорепозитории.
2023-11-27 00:25:19 +03:00
2024-08-02 16:59:51 +03:00
## Структура монорепозитория
2023-11-27 00:25:19 +03:00
2024-08-16 22:42:02 +03:00
Монорепозиторий Karkas включает в себя:
2024-08-24 15:34:13 +03:00
- **Ядро Karkas (`src/karkas_core`):** Основные компоненты платформы, такие как система управления модулями, логирование и утилиты.
- **Блоки Karkas (`src/karkas_blocks`):** Содержит стандартные и дополнительные модули, которые расширяют функциональность ботов, созданных на платформе «Каркас».
- **Бот Gnomик (`src/gnomik`):** Пример реализации бота, созданного на основе платформы «Каркас».
2023-11-27 00:25:19 +03:00
2024-08-02 16:59:51 +03:00
## Модули
2023-11-27 00:25:19 +03:00
2024-08-24 15:34:13 +03:00
Модули Karkas — это независимые компоненты, которые добавляют функциональность бота.
2023-11-27 00:25:19 +03:00
2024-08-02 16:59:51 +03:00
### Структура модуля
2023-11-27 00:25:19 +03:00
2024-08-02 16:59:51 +03:00
Структура модуля представлена [здесь ](docs/MODULES-SPEC.md ).
2023-11-27 00:25:19 +03:00
2024-08-02 16:59:51 +03:00
### Стандартные модули
2023-11-27 00:25:19 +03:00
2024-08-24 15:34:13 +03:00
Стандартные модули предоставляют базовые функции для работы бота
Полный перечень стандартных модулей:
- [`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 ) — модуль предоставления информации о пользователях и чатах.
2023-11-27 00:25:19 +03:00
2024-08-02 16:59:51 +03:00
### Дополнительные официальные модули
2023-11-27 00:25:19 +03:00
2024-08-24 15:34:13 +03:00
Дополнительные официальные модули созданы командой разработки платформы «Каркас» и предоставляют расширенные возможности для бота:
- [`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 ) — модуль для создания отчётов о б ошибках.