chatgpt-plugin/utils/tools/HandleMessageMsgTool.js
2023-10-14 13:07:01 +08:00

46 lines
1.1 KiB
JavaScript

import { AbstractTool } from './AbstractTool.js'
export class HandleMessageMsgTool extends AbstractTool {
name = 'handleMsg'
parameters = {
properties: {
type: {
type: 'string',
enum: ['recall', 'essence', 'un-essence'],
description: 'what do you want to do with the message'
},
messageId: {
type: 'string',
description: 'which message to handle, current one by default'
}
},
required: ['type']
}
func = async function (opts, e) {
let { type = 'recall', messageId = e.message_id } = opts
try {
switch (type) {
case 'recall': {
await e.group.recallMsg(messageId)
break
}
case 'essence': {
await e.bot.setEssenceMessage(messageId)
break
}
case 'un-essence': {
await e.bot.removeEssenceMessage(messageId)
break
}
}
return 'success!'
} catch (err) {
logger.error(err)
return 'operation failed: ' + err.message
}
}
description = '用来撤回消息或将消息设为精华'
}