NapCatQQ/src/onebot/action/msg/DeleteMsg.ts
手瓜一十雪 a2d11a7d7d fix
2025-04-17 09:52:03 +08:00

28 lines
828 B
TypeScript

import { ActionName } from '@/onebot/action/router';
import { OneBotAction } from '@/onebot/action/OneBotAction';
import { MessageUnique } from '@/common/message-unique';
import { z } from 'zod';
import { actionType } from '@/common/coerce';
const SchemaData = z.object({
message_id: actionType.string(),
});
type Payload = z.infer<typeof SchemaData>;
class DeleteMsg extends OneBotAction<Payload, void> {
override actionName = ActionName.DeleteMsg;
override payloadSchema = SchemaData;
async _handle(payload: Payload) {
const msg = MessageUnique.getMsgIdAndPeerByShortId(Number(payload.message_id));
if (msg) {
await this.core.apis.MsgApi.recallMsg(msg.Peer, msg.MsgId);
} else {
throw new Error('Recall failed');
}
}
}
export default DeleteMsg;