From 1149f340708e86dbba9acc152ab49f8536d4cc75 Mon Sep 17 00:00:00 2001 From: ikechan8370 Date: Tue, 31 Dec 2024 13:02:18 +0800 Subject: [PATCH] fix: tool permission --- apps/bym.js | 4 ++++ utils/tools/EditCardTool.js | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/bym.js b/apps/bym.js index fc2f39f..850d4e6 100644 --- a/apps/bym.js +++ b/apps/bym.js @@ -16,6 +16,7 @@ import { EditCardTool } from '../utils/tools/EditCardTool.js' import { JinyanTool } from '../utils/tools/JinyanTool.js' import { KickOutTool } from '../utils/tools/KickOutTool.js' import { SetTitleTool } from '../utils/tools/SetTitleTool.js' +import {SerpTool} from '../utils/tools/SerpTool.js' export class bym extends plugin { constructor () { @@ -117,6 +118,9 @@ export class bym extends plugin { new WebsiteTool(), new WeatherTool() ] + if (Config.azSerpKey) { + tools.push(new SerpTool()) + } if (e.group.is_admin || e.group.is_owner) { tools.push(new EditCardTool()) tools.push(new JinyanTool()) diff --git a/utils/tools/EditCardTool.js b/utils/tools/EditCardTool.js index 597eb5e..a8b6364 100644 --- a/utils/tools/EditCardTool.js +++ b/utils/tools/EditCardTool.js @@ -24,7 +24,7 @@ export class EditCardTool extends AbstractTool { description = 'Useful when you want to edit someone\'s card in the group(群名片)' func = async function (opts, e) { - let { qq, card, groupId } = opts + let { qq, card, groupId, isAdmin } = opts qq = isNaN(qq) || !qq ? e.sender.user_id : parseInt(qq.trim()) groupId = isNaN(groupId) || !groupId ? e.group_id : parseInt(groupId.trim()) @@ -41,7 +41,11 @@ export class EditCardTool extends AbstractTool { logger.error('获取群信息失败,可能使用的底层协议不完善') } logger.info('edit card: ', groupId, qq) - await group.setCard(qq, card) + if (isAdmin) { + await group.setCard(qq, card) + } else { + return 'the user is not admin, he can\'t edit card of other people.' + } return `the user ${qq}'s card has been changed into ${card}` } }