mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 21:37:11 +00:00
fix: 增加智能模式私聊开关
This commit is contained in:
parent
777279e410
commit
d96349dde3
5 changed files with 36 additions and 68 deletions
|
|
@ -227,7 +227,8 @@ const defaultConfig = {
|
|||
_2captchaKey: '',
|
||||
bingReasoning: false, // 是否深度思考
|
||||
apiMaxToken: 4096,
|
||||
version: 'v2.8.3'
|
||||
enableToolPrivateSend: true, // 是否允许智能模式下私聊骚扰其他群友。主人不受影响。
|
||||
version: 'v2.8.4'
|
||||
}
|
||||
const _path = process.cwd()
|
||||
let config = {}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
import { AbstractTool } from './AbstractTool.js'
|
||||
import { convertFaces } from '../face.js'
|
||||
import {getMasterQQ} from '../common.js'
|
||||
import {Config} from '../config.js'
|
||||
|
||||
export class SendMessageToSpecificGroupOrUserTool extends AbstractTool {
|
||||
name = 'sendMessage'
|
||||
|
|
@ -19,7 +21,7 @@ export class SendMessageToSpecificGroupOrUserTool extends AbstractTool {
|
|||
}
|
||||
|
||||
func = async function (opt, e) {
|
||||
let { msg, targetGroupIdOrQQNumber } = opt
|
||||
let { msg, sender, targetGroupIdOrQQNumber } = opt
|
||||
const defaultTarget = e.isGroup ? e.group_id : e.sender.user_id
|
||||
const target = isNaN(targetGroupIdOrQQNumber) || !targetGroupIdOrQQNumber
|
||||
? defaultTarget
|
||||
|
|
@ -37,6 +39,10 @@ export class SendMessageToSpecificGroupOrUserTool extends AbstractTool {
|
|||
await group.sendMsg(await convertFaces(msg, true, e))
|
||||
return 'msg has been sent to group' + target
|
||||
} else {
|
||||
let masters = (await getMasterQQ())
|
||||
if (!Config.enableToolPrivateSend && !masters.includes(sender + '')) {
|
||||
return 'you are not allowed to pm other group members'
|
||||
}
|
||||
let user = e.bot.pickUser(target)
|
||||
if (e.group_id) {
|
||||
user = user.asMember(e.group_id)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
import { AbstractTool } from './AbstractTool.js'
|
||||
import {getMasterQQ} from '../common.js'
|
||||
import {Config} from '../config.js'
|
||||
|
||||
export class SendPictureTool extends AbstractTool {
|
||||
name = 'sendPicture'
|
||||
|
|
@ -18,7 +20,7 @@ export class SendPictureTool extends AbstractTool {
|
|||
}
|
||||
|
||||
func = async function (opt, e) {
|
||||
let { urlOfPicture, targetGroupIdOrQQNumber } = opt
|
||||
let { urlOfPicture, targetGroupIdOrQQNumber, sender } = opt
|
||||
if (typeof urlOfPicture === 'object') {
|
||||
urlOfPicture = urlOfPicture.join(' ')
|
||||
}
|
||||
|
|
@ -55,6 +57,10 @@ export class SendPictureTool extends AbstractTool {
|
|||
// await group.sendMsg(pictures)
|
||||
return 'picture has been sent to group' + target + (errs.length > 0 ? `, but some pictures failed to send (${errs.join('、')})` : '')
|
||||
} else {
|
||||
let masters = (await getMasterQQ())
|
||||
if (!Config.enableToolPrivateSend && !masters.includes(sender + '')) {
|
||||
return 'you are not allowed to pm other group members'
|
||||
}
|
||||
let user = e.bot.pickUser(target)
|
||||
if (e.group_id) {
|
||||
user = user.asMember(e.group_id)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue