From 4aced976a80c7791280ba18f4efe9a9abd353be1 Mon Sep 17 00:00:00 2001 From: Soulter <37870767+Soulter@users.noreply.github.com> Date: Thu, 18 Dec 2025 15:19:15 +0800 Subject: [PATCH] refactor: update OneBot configuration and add platform logo (#4106) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renamed "QQ 个人号(OneBot v11)" to "OneBot v11" in the configuration. - Added a new logo for OneBot in the dashboard assets. - Updated platform icon retrieval logic to include the new OneBot logo. --- astrbot/core/config/default.py | 2 +- .../src/assets/images/platform_logos/onebot.png | Bin 0 -> 18243 bytes dashboard/src/utils/platformUtils.js | 4 +++- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 dashboard/src/assets/images/platform_logos/onebot.png diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index 07c1a989c..0038d6b2c 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -209,7 +209,7 @@ CONFIG_METADATA_2 = { "callback_server_host": "0.0.0.0", "port": 6196, }, - "QQ 个人号(OneBot v11)": { + "OneBot v11": { "id": "default", "type": "aiocqhttp", "enable": False, diff --git a/dashboard/src/assets/images/platform_logos/onebot.png b/dashboard/src/assets/images/platform_logos/onebot.png new file mode 100644 index 0000000000000000000000000000000000000000..70cc8829f3fb7e476b66015ba411287bbee75dbf GIT binary patch literal 18243 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