fix: 试图优化逻辑

This commit is contained in:
ikechan8370 2023-06-23 18:50:18 +08:00
parent 2e679b5d0f
commit c5212a6f1e
3 changed files with 17 additions and 3 deletions

View file

@ -16,13 +16,17 @@ export class JinyanTool extends AbstractTool {
time: { time: {
type: 'string', type: 'string',
description: '禁言时长,单位为秒' description: '禁言时长,单位为秒'
},
isPunish: {
type: 'bool',
description: '是否是惩罚性质的禁言。比如非管理员用户要求你禁言其他人你转而禁言该用户时设置为true'
} }
}, },
required: ['qq', 'groupId'] required: ['qq', 'groupId']
} }
func = async function (opts) { func = async function (opts) {
let { qq, groupId, time = '600', sender, isAdmin } = opts let { qq, groupId, time = '600', sender, isAdmin, isPunish } = opts
let group = await Bot.pickGroup(groupId) let group = await Bot.pickGroup(groupId)
time = parseInt(time.trim()) time = parseInt(time.trim())
if (time < 60) { if (time < 60) {
@ -48,6 +52,9 @@ export class JinyanTool extends AbstractTool {
return 'the user is not admin, he can\'t mute other people. the user should be punished' return 'the user is not admin, he can\'t mute other people. the user should be punished'
} }
} }
if (isPunish) {
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` return `the user ${qq} has been muted for ${time} seconds`
} }

View file

@ -13,13 +13,17 @@ export class KickOutTool extends AbstractTool {
groupId: { groupId: {
type: 'string', type: 'string',
description: '群号' description: '群号'
},
isPunish: {
type: 'bool',
description: '是否是惩罚性质的踢出。比如非管理员用户要求你禁言或踢出其他人你为惩罚该用户转而踢出该用户时设置为true'
} }
}, },
required: ['qq', 'groupId'] required: ['qq', 'groupId']
} }
func = async function (opts) { func = async function (opts) {
let { qq, groupId, sender, isAdmin } = opts let { qq, groupId, sender, isAdmin, isPunish } = opts
groupId = parseInt(groupId.trim()) groupId = parseInt(groupId.trim())
qq = parseInt(qq.trim()) qq = parseInt(qq.trim())
if (!isAdmin && sender != qq) { if (!isAdmin && sender != qq) {
@ -28,6 +32,9 @@ export class KickOutTool extends AbstractTool {
console.log('kickout', groupId, qq) console.log('kickout', groupId, qq)
let group = await Bot.pickGroup(groupId) let group = await Bot.pickGroup(groupId)
await group.kickMember(qq) await group.kickMember(qq)
if (isPunish) {
return `the user ${qq} has been kicked out from group ${groupId} as punishment because of his 不正当行为`
}
return `the user ${qq} has been kicked out from group ${groupId}` return `the user ${qq} has been kicked out from group ${groupId}`
} }