mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-17 22:07:10 +00:00
feat(bym): 添加 SerpTool 并增强 EditCardTool 功能
- 添加 SerpTool,用于处理搜索结果 - 在 bym 插件中根据配置条件动态加载 SerpTool - 更新 EditCardTool,增加管理员权限验证功能
This commit is contained in:
parent
2cf83fbdd8
commit
3e70ae88dc
2 changed files with 11 additions and 2 deletions
|
|
@ -16,6 +16,8 @@ import { EditCardTool } from '../utils/tools/EditCardTool.js'
|
||||||
import { JinyanTool } from '../utils/tools/JinyanTool.js'
|
import { JinyanTool } from '../utils/tools/JinyanTool.js'
|
||||||
import { KickOutTool } from '../utils/tools/KickOutTool.js'
|
import { KickOutTool } from '../utils/tools/KickOutTool.js'
|
||||||
import { SetTitleTool } from '../utils/tools/SetTitleTool.js'
|
import { SetTitleTool } from '../utils/tools/SetTitleTool.js'
|
||||||
|
import {SerpTool} from '../utils/tools/SerpTool.js'
|
||||||
|
|
||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import { fileTypeFromBuffer } from 'file-type';
|
import { fileTypeFromBuffer } from 'file-type';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
@ -275,6 +277,9 @@ export class bym extends plugin {
|
||||||
new WebsiteTool(),
|
new WebsiteTool(),
|
||||||
new WeatherTool()
|
new WeatherTool()
|
||||||
]
|
]
|
||||||
|
if (Config.azSerpKey) {
|
||||||
|
tools.push(new SerpTool())
|
||||||
|
}
|
||||||
if (e.group.is_admin || e.group.is_owner) {
|
if (e.group.is_admin || e.group.is_owner) {
|
||||||
tools.push(new EditCardTool())
|
tools.push(new EditCardTool())
|
||||||
tools.push(new JinyanTool())
|
tools.push(new JinyanTool())
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ export class EditCardTool extends AbstractTool {
|
||||||
description = 'Useful when you want to edit someone\'s card in the group(群名片)'
|
description = 'Useful when you want to edit someone\'s card in the group(群名片)'
|
||||||
|
|
||||||
func = async function (opts, e) {
|
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())
|
qq = isNaN(qq) || !qq ? e.sender.user_id : parseInt(qq.trim())
|
||||||
groupId = isNaN(groupId) || !groupId ? e.group_id : parseInt(groupId.trim())
|
groupId = isNaN(groupId) || !groupId ? e.group_id : parseInt(groupId.trim())
|
||||||
|
|
||||||
|
|
@ -41,7 +41,11 @@ export class EditCardTool extends AbstractTool {
|
||||||
logger.error('获取群信息失败,可能使用的底层协议不完善')
|
logger.error('获取群信息失败,可能使用的底层协议不完善')
|
||||||
}
|
}
|
||||||
logger.info('edit card: ', groupId, qq)
|
logger.info('edit card: ', groupId, qq)
|
||||||
|
if (isAdmin) {
|
||||||
await group.setCard(qq, card)
|
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}`
|
return `the user ${qq}'s card has been changed into ${card}`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue