Modular discord bot core built on hikari https://chio.miroq.ru
  • Python 98.1%
  • Dockerfile 1.9%
Find a file
2026-06-27 19:48:24 +04:00
.vscode Chore: Asd vscode settings 2026-06-27 17:51:32 +04:00
chiori Release: Chiori v0.12.0 2026-06-27 19:48:24 +04:00
.env.dist Chore: Add example env file 2026-06-20 15:51:42 +04:00
.gitignore Initial commit 2026-06-20 15:44:45 +04:00
compose.yaml Chore: Add docker and docker-compose files 2026-06-27 17:50:07 +04:00
Dockerfile Chore: Add docker and docker-compose files 2026-06-27 17:50:07 +04:00
LICENSE Initial commit 2026-06-20 15:44:45 +04:00
noxfile.py Chore: Add noxfile 2026-06-27 17:50:41 +04:00
pyproject.toml Release: Chiori v0.12.0 2026-06-27 19:48:24 +04:00
README.md Events: Remove deprecated DBEvent 2026-06-20 17:33:06 +04:00
ruff.toml Chore: Add ruff rules 2026-06-20 15:48:44 +04:00
uv.lock Chore: Back orjson to speedup client 2026-06-27 18:07:20 +04:00

Chiori

Ruff Last Commit Version LICENSE Discord Docs Python

Chiori - Ядро Disocrd бота, построенное на библиотеке hikari для разработки современных модульных ботов, как например Chioricord.

Возможности:

  • Динамическая загрузка: Выбирайте только те расширения и функции, которые вам нужны.
  • Обработка ошибок: Встроенный обработчик ошибок во время работы.
  • Настройки: Настроить запуск можно просто в .env файле.
  • События: Создавайте и обрабатывайте собственные события.
  • Chio API: Для разработки своих библиотек и расширений.

Более подробно о ней вы можете прочитать на сайте. Там вы найдете документацию по использованию и разработке.

Установка и запуск

Если вы заинтересовались, то давайте перейдём к запуску Шиори. Для этого выполните следующие простые шаги:

  1. Загрузите репозиторий со всеми компонентами.
git clone https://git.miroq.ru/chio/cord
  1. Установите зависимости через uv:
uv sync -U --with extensions

--with extensions означает что мы хотим установить все дополнительные зависимости. используемые в расширениях.

  1. Настройки бота для первого запуска. Для этого скопируем файл env.dist в .env. После подставляем токен вашего Discord бота.
BOT_TOKEN = "ODY4MDk..."

Все прочие настройки детально описаны в созданном вами .env файле.

  1. Создайте таблицу и пользователя в базе данных 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.

Также расширения могут использовать свои библиотеки.

Огромная благодарность разработчикам за чудесные библиотеки. 🧡 Благодаря общему вкладу мы становимся лучше.