• v0.10 c5eb01acd9

    Milinuri Nirvalen released this 2025-11-09 14:19:59 +04:00 | 49 commits to main since this release

    Время заменить устаревшие роли на современные теги.
    В отличие от одной роли, у пользователя могут быть сразу несколько тегов.

    • Удалён lock файл и устаревший пример настроек плагинов.
    • Немного больше полезной информации в Readme.
    • Сортировка всех расширений по группам.

    Chio

    • Более удобная возможность указывать имена для таблиц.
    • Базовое событие DBEvent для всех изменений в базе данных.
    • Замена ролей на систему тегов.
    • Исправлена отправка сообщения об ошибке.

    Libs

    • Значительно переработана библиотека color.
    • channels - управления текстовыми каналами, куда может писать бот.
    • voice_events - более детальные события голосовых каналов.
    • timers - создание краткосрочных пользовательских таймеров.

    Extensions

    • Исправлено описание которых команд.
    • Modcraft: Обновлён цветовой пинг и добавлены иконки сервера.
    • Welcome: Отдельные настройки для каждого сервера.
    • voice messages - Сообщения о событиях в голосовых каналах.
    • active: разделение на базовое расширение и voice/active для отслеживания активности в голосовом канале.
    • system/tags - Новое расширение для управления тегами, вместо ролей.
  • v0.9 27af434030

    v0.9: New Chio API Pre-release

    Milinuri Nirvalen released this 2025-08-07 15:22:03 +04:00 | 89 commits to main since this release

    Это достаточно масштабное обновление API, которые значительно изменяет подход к расширениям.
    Изменений достаточно много, потому следующее обновление вполне может стать v1.0.
    Из-за значительных изменения необходимо приложить некоторые усилия чтобы
    портировать плагины на новый API.

    • Добавлен метод для подсчёта пинга базы данных.
    • Возможность подключения к базе данных по UNIX сокету.
    • База данных и настройки перемещены в пакет chioricord.api.
    • Из параметр настроек PLUGIN_CONFIG заменён на CONFIG_PATH.
    • Все расширения портированы на новую версию API.

    Config v2

    Все настройки плагинов теперь находятся в config/ (можно переопределить через настройки).
    Название файла конфига задаётся в PluginConfig через параметр config_name.
    Загрузка настроек происходит после загрузки плагинов.
    Если загрузка настроек не удалась, будет выведен детальный отчёт.

    Упрошены методы для обращения с настройками:

    config.register(SomeConfig)
    
    config.get(SomeConfig)
    

    Порядок запуска

    Несколько изменился порядок запуска бота:

    • Подгрузка системных настроек.
    • Запуск клиентов. hikari, arc, miru.
    • Проверка директорий, настройка журнала.
    • Подготовка базы данных.
    • Загрузка плагинов.
    • Загрузка настроек плагинов.
    • Запуск базы данных.

    Chiorium

    Было добавлено несколько новых компонентов.

    • plugin.ChioPlugin: Надстройка поверх GatewayPlugin. Предоставляет методы
      для установки настроек и добавления таблиц в базу данных.
      Во время загрузки плагина они автоматически будут добавлены в клиент.
      Больше не нужно использовать get_type_dependency.
    • client.ChioClient: Надстройка поверх GatewayClient. Предоставляет доступ
      к настройкам и базе данных без необходимости использовать DI.
    • client.ChioContext: Типизированный arc.Context[ChioClient].

    До v0.9:

    db = client.get_type_dependency(ChioDB)
    config = client.get_type_dependency(BotConfig)
    await db.connect(str(config.DB_DSN))
    await db.create_tables()
    

    После:

    await client.db.connect(str(client.bot_config.DB_DSN))
    await client.db.create_tables()
    

    Расширения

    • Добавлена группа templates для примера реализации плагинов.
    • Добавлена группа contrib для поддержки сторонних сервисов в Chioricord.
    • Modcraft: Добавлена поддержка настроек. Убраны динамические команды.

    Библиотеки

    • lingua: Событие добавления сообщения.
    • lingua: Метод получения статистики сообщений.
    • lingua: Метод добавления новых сообщений в историю и получения последних сообщений.
  • v0.8 2583d32220

    Milinuri Nirvalen released this 2025-08-01 14:42:04 +04:00 | 109 commits to main since this release

    В этот раз без предоставления нового API.
    Упор был сделан на внутренние улучшения архитектуры.

    Бот

    • Сообщение об ошибке более информативное и дружелюбное.
    • Обновлены системные настройки.
    • В настройках можно указать путь до директории расширений.
    • Удалён устаревший хук is_owneer теперь используется проверка has_role с RoleLevel.OWNER.
    • Событие ChangeRole при смете роли пользователя.
    • Настройки бота теперь также доступны через DI.

    Расширение

    • Manage: Переход на использование нового хука has_role вместо проверки владельца бота.
    • Новый плагин Roles для управления ролями пользователей.
    • Новый плагин Use stat для аналитики часто используемых команд.
    • Welcome: Приветственное сообщение, когда кто-то добавляет бота на сервер.
    • Coins: Использование более современного подхода к базе данных. Переписаны сообщения, упрощена таблица лидеров.
    • Utils: Новые команды для управления ролями участников сервера.
    • Новый плагин Roles shop для создания магазина ролей на сервере.
    • Welcome: Добавлен подвал для приветственного сообщения.
    • Новый тестовый плагин Telegram hook для отправки сообщений в Telegram чаты.
  • v0.7 59673cec94

    v0.7: Roles Stable

    Milinuri Nirvalen released this 2025-07-20 15:12:34 +04:00 | 131 commits to main since this release

    В этом обновлении появилась глобальная таблица ролей пользователей.
    Роли используются для определения уровня доступа конкретного пользователя независимо от сервера.

    • Все побочные зависимости были перенесены в группу extra.

    Бот

    • В метод get_group добавлен второй аргумент для type casting,

    Расширения

    • Переход на использование ChioDB.
    • Active levelts: Улучшен механизм начисления опыта на основе голосовой активности пользователя.
    • Дебютировал музыкальный плеер на библиотеке ongaku.
    • Active levels: Текущие положение пользователя в таблице лидеров.
    • Active levels: Команда /voice для отображения текущей голосовой активности.
    • Active levels: Использование встроенного обработчика событий.
    • Коллекция расширения была отсортирована по типу.
    • Lingua: Изменён стандартный промпт.
    • Lingua: Команда для смены ИИ модели.
    • Lingua: Режим общения в текстовых каналах.
    • Новое расширение Welcome.
    • Новое расширение Reputation.

    Библиотеки

    • color: Исправлены некоторые ошибки.
    • Переписаны все библиотеки, использующие базы данных.
  • v0.6 8740a537cb

    Milinuri Nirvalen released this 2025-07-02 19:57:59 +04:00 | 168 commits to main since this release

    Описаны все изменения v0.5.x -> v0.6.

    • Решено множество ошибок типизации, которые могли создавать потенциальные баги.
    • Добавлено множество строк документации.

    Бот

    • Удалена настройка BOT_PREFIX поскольку бот полностью перешёл на использовать /комад.
    • Настройки теперь доступны только для чтения.
    • PluginConfig: Добавлен метод register, автоматический создающий Dependency injection.
    • Добавлен хук owner_hook для проверки что команду выполняет владелец бота.
    • Добавлена общая база данных ChioDB, использующая PostgreSQL.

    Расширения

    • Новый плагин Extension Manager для управления плагинами.
    • Coins: Исправлены имена команд.
    • Find pair: Использование нового Config API.
    • `Funbox: Использование Config API.
    • Lingua: Использование Config API вместо env переменных.
    • Modcraft: Добавлен список игроков в сети в команде /status.
    • Pluginlist: Обновлено описание команд.
    • Новый плагин Shotgun. Игра для двух игроков.
    • Nya: Добавлен пример использования ConfigAPI.
    • Новый плагин Static embeds для быстрого создания статичных команд/
    • Fubox: Новая команда /chance.
    • Modcraft: Использует библиотеку static embeds для генерации подкоманд.
    • Новый плагин Math test. Мини-игра для одного человека.
    • Unraid: Добавлено проверка права на редактирование каналов сервера.
    • Новый плагин Config manager для просмотра настроек плагинов.
    • Новый плагин Logger для отслеживания действий на серверах.
    • Портированы плагины Nekos best и Nekos life из мармеладки.
    • Pluginlist: Сортировка плагинов по алфавиту.
    • Новы плагин Active levels для поощрения активности участников.

    Библиотеки

    • Новая библиотека static embeds. Предоставляет API для удобного создания Embed сообщений из JSON формата.
  • v0.5 0d1723460b

    Milinuri Nirvalen released this 2025-06-15 00:21:45 +04:00 | 222 commits to main since this release

    Обновление получилось достаточно глобальным.
    Появился новый API для предоставления настроек для плагинов.
    Добавлено и обновлено множество плагинов.

    • Удалены старые расширения.
    • Обновлены зависимости.
    • README несколько дополнен.
    • Названия расширение приведены к единому виду.
    • Миграция с poetry на uv.
    • Общее улучшение качество кода и пополнение документации.

    Бот

    • Динамический загрузчик настроек для плагинов.

    Расширения

    • Utils: Команда /avatar.
    • Новый плагин Gc в альфа-версии. Бродите по свалке и собирайте ценные предметы.
    • Новый плагин Find pair. Мини-игра для одного игрока.
    • Новый плагин Guess number. Мини игра для одного игрока.
    • Новый плагин Plugin list. Позволяет просматривать список установленных плагинов и доступных команд.
    • Mines: Улучшен генератор игрового поля.
    • Новый плагин Coins для управления внутренней экономикой.
    • Utils: новая команда /user для просмотра информации о профиле пользователя.
    • Funbox: новые команды /flip и /ball.
    • Новый плагин Words game. Мини игра для 2+ человек.
    • Портирован плагин Rune из проекта Diverse.
    • Портирован плагин Lingua для общения с AI моделями.
    • Новый плагин Modcraft для просмотра статистика Minecraft серверов.
    • Новый плагин Unraid для ликвидации последствий рейда.

    Библиотеки

    • `inventory: Метод для получения случного предмета по редкости.
    • Новая библиотека coinengine для предоставления механики экономики.
  • v0.4.2 d9ba91736f

    Milinuri Nirvalen released this 2024-07-30 17:14:49 +04:00 | 285 commits to main since this release

    Дебютировала библиотека инвентаря.
    Она позволяет разным расширениям взаимодействовать с инвентарём пользователя.

    Бот

    • Проверка наличия необходимых директорий при запуске бота.

    Расширения

    • Новый плагин Tic tac toe. Мини-игра для двоих игроков.
    • Новый плагин Rock paper scissors. Мини-игра для двоих игроков.
    • Новый плагин Util. Сборник разных полезных команд.

    Библиотеки

    • Новая библиотека intentory для управления инвентарём пользователя.
  • v0.4.1 587b889def

    Milinuri Nirvalen released this 2024-07-23 20:54:14 +04:00 | 300 commits to main since this release

    Поставка расширений для нового бота.

    Бот

    • Доключен miru клиент для кнопочек.

    Расширения

    • Портированы Color, Funbox.
    • Новый плагин Mines.
  • v0.4 9da88ef49f

    Milinuri Nirvalen released this 2024-07-23 13:24:01 +04:00 | 308 commits to main since this release

    Переход c discord.py на hikari вдохнул вторую жизнь в развитие проекта.

    Бот

    • Миграция на hikari + arc + miru.
    • Рефакторинг бота под новую библиотеку.

    Расширения

    • Новый шаблонный плагин Nya.
  • v0.3 76a6bf5583

    Milinuri Nirvalen released this 2024-05-28 21:37:51 +04:00 | 319 commits to main since this release

    Была произведена общая чистка кода.

    Бот

    • Улучшение качества кода.
    • Добавлен обработчик на каждую команду.
    • Новый параметр BOT_OWNER.
    • Функции чтения/записи в json файл.

    Расширения

    • Новый плагин Funbox.

    Библиотеки

    • Color: Исправлена конвертация Hex -> Rgb.
    • Color: Улучшен парсинг цвета.
    • Color: Общее улучшение качества кода.