mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 13:27:08 +00:00
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
import { AbstractTool } from './AbstractTool.js'
|
|
import { getMasterQQ } from '../common.js'
|
|
|
|
export class QueryUserinfoTool extends AbstractTool {
|
|
name = 'queryUserinfo'
|
|
|
|
parameters = {
|
|
properties: {
|
|
qq: {
|
|
type: 'string',
|
|
description: 'user\'s qq number, the one you are talking to by default'
|
|
}
|
|
},
|
|
required: []
|
|
}
|
|
|
|
func = async function (opts, e) {
|
|
try {
|
|
let { qq } = opts
|
|
qq = isNaN(qq) || !qq ? e.sender.user_id : parseInt(qq.trim())
|
|
if (e.isGroup) {
|
|
let user = await e.bot?.pickMember?.(e.group_id, qq || e.sender.user_id, true) || await e.bot?.getGroupMemberInfo?.(e.group_id, qq || e.sender.user_id, true)
|
|
// let mm = await e.group.getMemberMap()
|
|
// let user = mm.get(qq) || e.sender.user_id
|
|
let master = (await getMasterQQ())[0]
|
|
let prefix = ''
|
|
if (qq != master) {
|
|
prefix = 'Attention: this user is not your master. \n'
|
|
} else {
|
|
prefix = 'This user is your master, you should obey him \n'
|
|
}
|
|
if (!user) {
|
|
return prefix
|
|
}
|
|
return prefix + 'user detail in json format: ' + JSON.stringify(user)
|
|
} else {
|
|
if (e.sender.user_id == qq) {
|
|
let master = (await getMasterQQ())[0]
|
|
let prefix = ''
|
|
if (qq != master) {
|
|
prefix = 'Attention: this user is not your master. \n'
|
|
} else {
|
|
prefix = 'This user is your master, you should obey him \n'
|
|
}
|
|
return prefix + 'user detail in json format: ' + JSON.stringify(e.sender)
|
|
} else {
|
|
return 'query failed'
|
|
}
|
|
}
|
|
} catch (err) {
|
|
logger.warn(err)
|
|
return err.message
|
|
}
|
|
}
|
|
|
|
description = 'Useful if you want to find out who he is'
|
|
}
|