fix: 状态卡片百分比错误

feat: 群聊Bot开关,防止Bot乱窜
This commit is contained in:
远野千束 2024-04-12 00:40:41 +08:00
parent 33dd2f104d
commit 83cd164a45
3 changed files with 40 additions and 38 deletions

View File

@ -18,7 +18,8 @@ status # 查看统计信息和状态
config set <key> value # 添加配置项,若存在则会覆盖,输入值会被执行以转换为正确的类型,"10"和10是不一样的 config set <key> value # 添加配置项,若存在则会覆盖,输入值会被执行以转换为正确的类型,"10"和10是不一样的
config get [key] # 查询配置项不带key返回配置项列表推荐私聊使用 config get [key] # 查询配置项不带key返回配置项列表推荐私聊使用
switch-image-mode # 在普通图片和Markdown大图之间切换该功能需要commit:505468b及以后的Lagrange.OneBot switch-image-mode # 在普通图片和Markdown大图之间切换该功能需要commit:505468b及以后的Lagrange.OneBot
# 仅超级用户,群聊仅群主、管理员、超级用户可用
group enable/disable [group_id] # 在群聊启用/停用机器人group_id仅超级用户可用
# 所有人可用 # 所有人可用
liteyuki-docs # 查看轻雪文档 liteyuki-docs # 查看轻雪文档
``` ```
@ -33,6 +34,7 @@ reload-resources 重载资源,
config 配置 | set 设置 | get 查询, config 配置 | set 设置 | get 查询,
switch-image-mode 切换图片模式, switch-image-mode 切换图片模式,
liteyuki-docs 轻雪文档 liteyuki-docs 轻雪文档
group 群聊 | enable 启用 | disable 停用
``` ```
### **插件/包管理器 `liteyuki_pacman`** ### **插件/包管理器 `liteyuki_pacman`**
@ -45,12 +47,10 @@ npm update # 更新插件商店索引
npm install <plugin_name> # 安装插件 npm install <plugin_name> # 安装插件
npm uninstall <plugin_name> # 卸载插件 npm uninstall <plugin_name> # 卸载插件
npm search <keywords...> # 通过关键词搜索插件 npm search <keywords...> # 通过关键词搜索插件
npm enable-global <plugin_name> # 全局启用插件 npm enable-global/disable-global <plugin_name> # 全局启用/停用插件
npm disable-global <plugin_name> # 全局禁用插件
# 群聊仅群主、管理员、超级用户可用,私聊所有人可用 # 群聊仅群主、管理员、超级用户可用,私聊所有人可用
npm enable <plugin_name> # 当前会话启用插件 npm enable/disable <plugin_name> # 当前会话启用/停用插件
npm disable <plugin_name> # 当前会话禁用插件
npm list [page] [num] # 列出所有插件 page为页数num为每页显示数量 npm list [page] [num] # 列出所有插件 page为页数num为每页显示数量
``` ```

View File

@ -366,11 +366,16 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot, npm: Matcher):
alias=["d", "停用"], alias=["d", "停用"],
), ),
), ),
permission=SUPERUSER | GROUP_OWNER | GROUP_ADMIN
).handle() ).handle()
async def _(event: T_MessageEvent, gm: Matcher, result: Arparma): async def _(bot: T_Bot, event: T_MessageEvent, gm: Matcher, result: Arparma):
ulang = get_user_lang(str(event.user_id)) ulang = get_user_lang(str(event.user_id))
to_enable = result.subcommands.get(enable) is not None to_enable = result.subcommands.get(enable) is not None
group_id = result.subcommands.get(enable, result.subcommands.get(disable)).args.get("group_id") group_id = None
if await SUPERUSER(bot, event):
# 仅超级用户可以自定义群号
group_id = result.subcommands.get(enable, result.subcommands.get(disable)).args.get("group_id")
if group_id is None and event.message_type == "group": if group_id is None and event.message_type == "group":
group_id = str(event.group_id) group_id = str(event.group_id)
else: else:
@ -378,7 +383,8 @@ async def _(event: T_MessageEvent, gm: Matcher, result: Arparma):
enabled = get_group_enable(group_id) enabled = get_group_enable(group_id)
if enabled == to_enable: if enabled == to_enable:
await gm.finish(ulang.get("liteyuki.group_already", STATUS=ulang.get("npm.enable") if to_enable else ulang.get("npm.disable"), GROUP=group_id), liteyuki_pass=True) await gm.finish(ulang.get("liteyuki.group_already", STATUS=ulang.get("npm.enable") if to_enable else ulang.get("npm.disable"), GROUP=group_id),
liteyuki_pass=True)
else: else:
group: Group = group_db.first(Group(), "group_id = ?", group_id, default=Group(group_id=group_id)) group: Group = group_db.first(Group(), "group_id = ?", group_id, default=Group(group_id=group_id))
if to_enable: if to_enable:

View File

@ -22,6 +22,28 @@ liteyuki.stats.run_time=运行时间
liteyuki.stats.groups=群 liteyuki.stats.groups=群
liteyuki.stats.friends=好友 liteyuki.stats.friends=好友
liteyuki.stats.plugins=插件 liteyuki.stats.plugins=插件
liteyuki.image_mode_on=开启Markdown图片模式
liteyuki.image_mode_off=关闭Markdown图片模式
liteyuki.invalid_command=无效的命令或参数
liteyuki.reload_resources=重载资源
liteyuki.list_resources=资源包列表
liteyuki.reload_resources_success=资源重载成功,共计 {NUM} 个资源包
liteyuki.loaded_resources=已加载 {NUM} 个资源包,按照优先级排序
liteyuki.unloaded_resources=未加载资源包
liteyuki.load_resource_success=资源包 {NAME} 加载成功
liteyuki.unload_resource_success=资源包 {NAME} 卸载成功
liteyuki.load_resource_failed=资源包 {NAME} 加载失败
liteyuki.unload_resource_failed=资源包 {NAME} 卸载失败
liteyuki.resource_not_found=资源包 {NAME} 不存在或不可操作
liteyuki.resource_already_loaded=资源包 {NAME} 已加载,请勿重复操作
liteyuki.resource_already_unloaded=资源包 {NAME} 已卸载,请勿重复操作
liteyuki.need_reload=请{BTN}重载以应用这些更新
liteyuki.dont_repeat=请勿重复操作
liteyuki.change_priority_success=资源包 {NAME} 优先级修改成功
liteyuki.change_priority_failed=资源包 {NAME} 优先级修改失败
liteyuki.group_already=群 {GROUP} 已经是 {STATUS} 状态,无需重复操作
liteyuki.group_success=群 {GROUP} {STATUS} 成功
liteyuki.permission_denied=权限不足
main.current_language=当前配置语言为: {LANG} main.current_language=当前配置语言为: {LANG}
main.enable_webdash=已启用网页监控面板: {URL} main.enable_webdash=已启用网页监控面板: {URL}
@ -34,6 +56,7 @@ main.monitor.disk=磁盘
main.monitor.usage=使用率 main.monitor.usage=使用率
main.monitor.total=总计 main.monitor.total=总计
main.monitor.used=已用 main.monitor.used=已用
main.monitor.free=空闲
data_manager.migrate_success=数据模型{NAME}迁移成功 data_manager.migrate_success=数据模型{NAME}迁移成功
@ -68,10 +91,12 @@ npm.homepage=主页
npm.pypi=PyPI npm.pypi=PyPI
npm.next_page=下一页 npm.next_page=下一页
npm.prev_page=上一页 npm.prev_page=上一页
npm.update=更新
npm.plugin_cannot_be_toggled=插件 {NAME} 无法被启用或停用 npm.plugin_cannot_be_toggled=插件 {NAME} 无法被启用或停用
npm.plugin_already=插件 {NAME} 已经是 {STATUS} 状态,无需重复操作 npm.plugin_already=插件 {NAME} 已经是 {STATUS} 状态,无需重复操作
npm.toggle_failed=插件 {NAME} {STATUS} 失败: {ERROR} npm.toggle_failed=插件 {NAME} {STATUS} 失败: {ERROR}
npm.toggle_success=插件 {NAME} {STATUS} 成功 npm.toggle_success=插件 {NAME} {STATUS} 成功
npm.page=第{PAGE}/{TOTAL}页
user.profile.edit=修改 user.profile.edit=修改
user.profile.set=设置 user.profile.set=设置
@ -89,39 +114,10 @@ user.profile.location=位置
user.profile.location.desc=设置用户位置信息 user.profile.location.desc=设置用户位置信息
user.profile.nickname=称呼 user.profile.nickname=称呼
user.profile.nickname.desc=设置Bot对用户的称呼 user.profile.nickname.desc=设置Bot对用户的称呼
user.profile.input_value=请输入 {ATTR} 的值 user.profile.input_value=请输入 {ATTR} 的值
user.profile.set_success=成功将 {ATTR} 设置为 {VALUE} user.profile.set_success=成功将 {ATTR} 设置为 {VALUE}
user.profile.set_failed=设置 {ATTR} 失败,请检查输入是否合法 user.profile.set_failed=设置 {ATTR} 失败,请检查输入是否合法
liteyuki.image_mode_on=开启Markdown图片模式
liteyuki.image_mode_off=关闭Markdown图片模式
npm.page=第{PAGE}/{TOTAL}页
main.monitor.free=空闲
liteyuki.invalid_command=无效的命令或参数
liteyuki.reload_resources=重载资源
liteyuki.list_resources=资源包列表
liteyuki.reload_resources_success=资源重载成功,共计 {NUM} 个资源包
liteyuki.loaded_resources=已加载 {NUM} 个资源包,按照优先级排序
liteyuki.unloaded_resources=未加载资源包
liteyuki.load_resource_success=资源包 {NAME} 加载成功
liteyuki.unload_resource_success=资源包 {NAME} 卸载成功
liteyuki.load_resource_failed=资源包 {NAME} 加载失败
liteyuki.unload_resource_failed=资源包 {NAME} 卸载失败
liteyuki.resource_not_found=资源包 {NAME} 不存在或不可操作
liteyuki.resource_already_loaded=资源包 {NAME} 已加载,请勿重复操作
liteyuki.resource_already_unloaded=资源包 {NAME} 已卸载,请勿重复操作
liteyuki.need_reload=请{BTN}重载以应用这些更新
liteyuki.dont_repeat=请勿重复操作
liteyuki.change_priority_success=资源包 {NAME} 优先级修改成功
liteyuki.change_priority_failed=资源包 {NAME} 优先级修改失败
rpm.move_up=上移 rpm.move_up=上移
rpm.move_down=下移 rpm.move_down=下移
rpm.move_top=置顶 rpm.move_top=置顶
npm.update=更新
liteyuki.group_already=群 {GROUP} 已经是 {STATUS} 状态,无需重复操作
liteyuki.group_success=群 {GROUP} {STATUS} 成功