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