- Python 98.1%
- Dockerfile 1.9%
| .vscode | ||
| chiori | ||
| .env.dist | ||
| .gitignore | ||
| compose.yaml | ||
| Dockerfile | ||
| LICENSE | ||
| noxfile.py | ||
| pyproject.toml | ||
| README.md | ||
| ruff.toml | ||
| uv.lock | ||
Chiori
Chiori - Ядро Disocrd бота, построенное на библиотеке hikari для разработки современных модульных ботов, как например Chioricord.
Возможности:
- Динамическая загрузка: Выбирайте только те расширения и функции, которые вам нужны.
- Обработка ошибок: Встроенный обработчик ошибок во время работы.
- Настройки: Настроить запуск можно просто в
.envфайле. - События: Создавайте и обрабатывайте собственные события.
- Chio API: Для разработки своих библиотек и расширений.
Более подробно о ней вы можете прочитать на сайте. Там вы найдете документацию по использованию и разработке.
Установка и запуск
Если вы заинтересовались, то давайте перейдём к запуску Шиори. Для этого выполните следующие простые шаги:
- Загрузите репозиторий со всеми компонентами.
git clone https://git.miroq.ru/chio/cord
- Установите зависимости через uv:
uv sync -U --with extensions
--with extensionsозначает что мы хотим установить все дополнительные зависимости. используемые в расширениях.
- Настройки бота для первого запуска.
Для этого скопируем файл
env.distв.env. После подставляем токен вашего Discord бота.
BOT_TOKEN = "ODY4MDk..."
Все прочие настройки детально описаны в созданном вами
.envфайле.
- Создайте таблицу и пользователя в базе данных Postgres.
После этого укажите данные для подключения в
.envфайле.
Теперь всё готово чтобы запустить Шиори через uv:
uv run -m chiori
Архитектура проекта
Бот разработан с использованием модульной архитектуры.
Для того чтобы функционал можно было гибко настраивать под свои нужды без лишних усилий.
Это реализуется через расширения extensions/ и библиотеки libs/.
Структура проекта выглядит следующим образом:
├── bot_data/ - Расширения могут читать и записывать файлы сюда.
├── chiori/ - Ядро проекта: Сборка всех компонентов, запуск бота, Chiori API.
├── config/ - Настройки расширений, загружаемые во время запуска бота.
├── extensions/ - Расширения, предоставляющие новый функционал на основе Chiori API.
└── libs/ - Общие компоненты, предоставляющие API для расширений.
Поддержка
Проект распространяется под открытой лицензией. Если вам понравился проект и вы хотите поддержать его развитие... Есть несколько способов, как вы можете это сделать:
- Оставить звёздочку в репозитории проекта.
- Предлагать свои идеи на форуме или issue.
- Участвовать в бета-тестировании новых функций на нашем сервере.
- Писать свои собственные расширения.
На нашем сервере также есть раздел форума, где вы можете задавать свои вопросы и принимать активное участие в развитии проекта.
А ещё в Discord сервере вы можете принять участие в бета-тестировании новых функций бота. И не стесняйтесь сообщать о всех найденных багах, так вы сделаете Шиори лучше.
Благодарности
При разработке использовались следующие библиотеки:
-
Hikari: A Discord API wrapper for Python and asyncio built on good intentions.
-
Arc: A command handler for hikari with a focus on type-safety and correctness.
-
miru: A component handler for hikari, inspired by discord.py's views.
Также расширения могут использовать свои библиотеки.
Огромная благодарность разработчикам за чудесные библиотеки. 🧡 Благодаря общему вкладу мы становимся лучше.