egg_server/routes/bot/actionMsg.ts
zhaoyingbo b44f66f6be
All checks were successful
Egg Server CI/CD / build-image (push) Successful in 1m9s
Egg Server CI/CD / refresh-image (push) Successful in 14s
Egg Server CI/CD / fast-deploy (push) Successful in 5s
feat(mi-chat): 优化消息返回功能
2024-10-11 10:59:32 +00:00

39 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { getActionType } from "@egg/lark-msg-tool"
import { Context } from "../../types"
import groupAgent from "./groupAgent"
const ACTION_MAP = {
sendFunctionSelector: groupAgent.sendFunctionSelector,
sendTimeScopeSelector: groupAgent.sendTimeScopeSelector,
manageGroupMsg: groupAgent.manageGroupMsg,
}
/**
* 处理点击事件
* @param {Context.Data} ctx - 上下文数据包含body, larkService和logger
*/
const manageAction = async (ctx: Context.Data) => {
const { body, logger } = ctx
const { action } = body?.action?.value as {
action: keyof typeof ACTION_MAP
}
logger.info(`Got lark action: ${action}`)
if (!action) return
const func = ACTION_MAP[action]
if (!func) return
return func(ctx)
}
/**
* 处理Action消息
* @param {Context.Data} ctx - 上下文数据
*/
export const manageActionMsg = async (ctx: Context.Data) => {
const actionType = getActionType(ctx.body)
if (["button", "select_static"].includes(actionType)) return ctx.genResp.ok()
const card = await manageAction(ctx)
if (card) return ctx.genResp.custom(card)
return ctx.genResp.ok()
}