v0.9.0
Это достаточно масштабное обновление API, которые значительно изменяет подход к расширениям. Изменений достаточно много, потому следующее обновление вполне может стать v1.0. Из-за значительных изменения необходимо приложить некоторые усилия чтобы портировать плагины на новый API.
- Добавлен метод для подсчёта пинга базы данных.
- Возможность подключения к базе данных по UNIX сокету.
- База данных и настройки перемещены в пакет
chioricord.api. - Из параметр настроек
PLUGIN_CONFIGзаменён наCONFIG_PATH. - Все расширения портированы на новую версию API.
Config v2
Заголовок раздела «Config v2»Все настройки плагинов теперь находятся в config/ (можно переопределить через настройки).
Название файла конфига задаётся в PluginConfig через параметр config_name.
Загрузка настроек происходит после загрузки плагинов.
Если загрузка настроек не удалась, будет выведен детальный отчёт.
Упрошены методы для обращения с настройками:
config.register(SomeConfig)
config.get(SomeConfig)Порядок запуска
Заголовок раздела «Порядок запуска»Несколько изменился порядок запуска бота:
- Подгрузка системных настроек.
- Запуск клиентов. hikari, arc, miru.
- Проверка директорий, настройка журнала.
- Подготовка базы данных.
- Загрузка плагинов.
- Загрузка настроек плагинов.
- Запуск базы данных.
Chiorium
Заголовок раздела «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: Метод добавления новых сообщений в историю и получения последних сообщений.