diff --git a/astrbot/core/star/filter/permission.py b/astrbot/core/star/filter/permission.py index 1bdb74f18..fc7a75bac 100644 --- a/astrbot/core/star/filter/permission.py +++ b/astrbot/core/star/filter/permission.py @@ -20,6 +20,6 @@ class PermissionTypeFilter(HandlerFilter): if self.permission_type == PermissionType.ADMIN: if not event.is_admin(): event.stop_event() - raise ValueError("您没有权限执行此操作。") + raise ValueError(f"您 (ID: {event.get_sender_id()}) 没有权限执行此操作。") return True diff --git a/astrbot/core/utils/io.py b/astrbot/core/utils/io.py index 9272920ea..0ef14925d 100644 --- a/astrbot/core/utils/io.py +++ b/astrbot/core/utils/io.py @@ -170,6 +170,14 @@ def get_local_ip_addresses(): s.close() return ip +async def get_dashboard_version(): + if os.path.exists("data/dist"): + if os.path.exists("data/dist/assets/version"): + with open("data/dist/assets/version", "r") as f: + v = f.read().strip() + return v + return None + async def download_dashboard(): '''下载管理面板文件''' dashboard_release_url = "https://astrbot-registry.soulter.top/download/astrbot-dashboard/latest/dist.zip" diff --git a/main.py b/main.py index 82dff0677..d7de4e04e 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,7 @@ from astrbot.dashboard import AstrBotDashBoardLifecycle from astrbot.core import db_helper from astrbot.core import logger, LogManager, LogBroker from astrbot.core.config.default import VERSION -from astrbot.core.utils.io import download_dashboard +from astrbot.core.utils.io import download_dashboard, get_dashboard_version # add parent path to sys.path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -37,14 +37,14 @@ def check_env(): async def check_dashboard_files(): '''下载管理面板文件''' - if os.path.exists("data/dist"): - if os.path.exists("data/dist/assets/version"): - with open("data/dist/assets/version", "r") as f: - v = f.read().strip() - if v != f"v{VERSION}": - logger.warning("检测到管理面板有更新。可以使用 /dashboard_update 命令更新。") - else: - logger.info("管理面板文件已是最新。") + + v = await get_dashboard_version() + if v is not None: + # has file + if v == f"v{VERSION}": + logger.info("管理面板文件已是最新。") + else: + logger.warning("检测到管理面板有更新。可以使用 /dashboard_update 命令更新。") return logger.info("开始下载管理面板文件...高峰期(晚上)可能导致较慢的速度。如多次下载失败,请前往 https://github.com/Soulter/AstrBot/releases/latest 下载 dist.zip,并将其中的 dist 文件夹解压至 data 目录下。") diff --git a/packages/astrbot/main.py b/packages/astrbot/main.py index fd4ebc498..6feed5231 100644 --- a/packages/astrbot/main.py +++ b/packages/astrbot/main.py @@ -6,7 +6,8 @@ import astrbot.api.event.filter as filter from astrbot.api.event import AstrMessageEvent, MessageEventResult from astrbot.api import sp from astrbot.api.provider import Personality, ProviderRequest -from astrbot.core.utils.io import download_dashboard +from astrbot.core.utils.io import download_dashboard, get_dashboard_version +from astrbot.core.config.default import VERSION from typing import Union @@ -36,9 +37,12 @@ class Main(star.Star): notice = await self._query_astrbot_notice() except BaseException: pass + + dashboard_version = await get_dashboard_version() - msg = "已注册的 AstrBot 内置指令:\n" - msg += f"""[System] + msg = f"""AstrBot v{VERSION}(WebUI: {dashboard_version}) +已注册的 AstrBot 内置指令: +[System] /plugin: 查看注册的插件、插件帮助 /t2i: 开启/关闭文本转图片模式 /sid: 获取当前会话的 ID