mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-18 06:17:06 +00:00
* fix: 2.7 dev start * feat: 初步支持function call(WIP) * fix: syntax error * fix: syntax error * feat: 群聊上下文 * fix: 暂时阉割掉全员禁言功能 * fix: 修改禁言时间范围 * fix: 修复一些功能易用性 * fix: 只有管理员和群主才能用jinyan和kickout * fix: 加回来禁言和踢出 * fix: 修复管理员权限判断问题(可能吧) * fix: 试图优化逻辑 * fix: fuck openai documents * fix: 删掉认主不然一直禁言我烦死了 * fix: 哔哩哔哩封面损坏问题 * fix: 加个天气小工具 * fix: 天气不存在城市 * fix: website工具用浏览器 * feat: serp tool * feat: 增加一个google搜索源 * fix: 加一句描述 * feat: 增加搜索来源选项 * feat: 搜图和发图 * fix: groupId format error * fix: add a image caption tool * fix: 修改一些提示。tool太多机器人开始混乱了 * fix: 一些极端的措施 * fix: 增加一些提示和一个暂时的公共接口 * fix: 收拾一下 * fix: 修改命令正则 * fix: 修改一些提示 * fix: move send avatar into send picture tool * fix: 修复解除禁言的bug
50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
import { AbstractTool } from './AbstractTool.js'
|
||
|
||
export class SendPictureTool extends AbstractTool {
|
||
name = 'sendPicture'
|
||
|
||
parameters = {
|
||
properties: {
|
||
picture: {
|
||
type: 'string',
|
||
description: 'the url of the pictures, split with space if more than one.'
|
||
},
|
||
qq: {
|
||
type: 'string',
|
||
description: 'if you want to send avatar of a user, input his qq number.'
|
||
},
|
||
groupId: {
|
||
type: 'string',
|
||
description: '群号或qq号,发送目标'
|
||
}
|
||
},
|
||
required: ['picture', 'groupId']
|
||
}
|
||
|
||
func = async function (opt) {
|
||
let { picture, groupId, qq } = opt
|
||
if (qq) {
|
||
let avatar = `https://q1.qlogo.cn/g?b=qq&s=0&nk=${qq}`
|
||
picture += ' ' + avatar
|
||
}
|
||
let pictures = picture.trim().split(' ')
|
||
pictures = pictures.map(img => segment.image(img))
|
||
let groupList = await Bot.getGroupList()
|
||
groupId = parseInt(groupId)
|
||
try {
|
||
if (groupList.get(groupId)) {
|
||
let group = await Bot.pickGroup(groupId)
|
||
await group.sendMsg(pictures)
|
||
return `picture has been sent to group ${groupId}`
|
||
} else {
|
||
let user = await Bot.pickFriend(groupId)
|
||
await user.sendMsg(pictures)
|
||
return `picture has been sent to user ${groupId}`
|
||
}
|
||
} catch (err) {
|
||
return `failed to send pictures, error: ${JSON.stringify(err)}`
|
||
}
|
||
}
|
||
|
||
description = 'Useful when you want to send one or more pictures. '
|
||
}
|