mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-17 13:57:10 +00:00
62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
import { AbstractTool } from './AbstractTool.js'
|
||
|
||
export class JinyanTool extends AbstractTool {
|
||
name = 'jinyan'
|
||
|
||
parameters = {
|
||
properties: {
|
||
qq: {
|
||
type: 'string',
|
||
description: '你想禁言的那个人的qq号'
|
||
},
|
||
groupId: {
|
||
type: 'string',
|
||
description: '群号'
|
||
},
|
||
time: {
|
||
type: 'string',
|
||
description: '禁言时长,单位为秒,默认为600'
|
||
},
|
||
isPunish: {
|
||
type: 'string',
|
||
description: '是否是惩罚性质的禁言。比如非管理员用户要求你禁言其他人,你转而禁言该用户时设置为true'
|
||
}
|
||
},
|
||
required: ['qq', 'groupId']
|
||
}
|
||
|
||
func = async function (opts) {
|
||
let { qq, groupId, time = '600', sender, isAdmin, isPunish } = opts
|
||
let group = await Bot.pickGroup(groupId)
|
||
time = parseInt(time.trim())
|
||
if (time < 60) {
|
||
time = 60
|
||
}
|
||
if (time > 86400 * 30) {
|
||
time = 86400 * 30
|
||
}
|
||
if (isAdmin) {
|
||
if (qq.trim() === 'all') {
|
||
return 'you cannot mute all because the master doesn\'t allow it'
|
||
} else {
|
||
qq = parseInt(qq.trim())
|
||
await group.muteMember(qq, time)
|
||
}
|
||
} else {
|
||
if (qq.trim() === 'all') {
|
||
return 'the user is not admin, he can\'t mute all. the user should be punished'
|
||
} else if (qq == sender) {
|
||
qq = parseInt(qq.trim())
|
||
await group.muteMember(qq, time)
|
||
} else {
|
||
return 'the user is not admin, he can\'t mute other people. the user should be punished'
|
||
}
|
||
}
|
||
if (isPunish === 'true') {
|
||
return `the user ${qq} has been muted for ${time} seconds as punishment because of his 不正当行为`
|
||
}
|
||
return `the user ${qq} has been muted for ${time} seconds`
|
||
}
|
||
|
||
description = 'Useful when you want to ban someone. If you want to mute all, just replace the qq number with \'all\''
|
||
}
|