diff --git a/controller/soupAgent/index.ts b/controller/soupAgent/index.ts index a1e88f4..b46de31 100644 --- a/controller/soupAgent/index.ts +++ b/controller/soupAgent/index.ts @@ -15,10 +15,10 @@ const startOrStopGame = async ( ) => { const { logger, - larkBody: { chatId, messageId }, + larkBody: { chatId }, attachService, larkCard, - larkService, + larkService: { message }, } = ctx const cardGender = larkCard.child("soupAgent") if (!chatId) { @@ -34,8 +34,7 @@ const startOrStopGame = async ( if (!value) { // 没有进行中的游戏 if (!activeGame) { - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genSuccessCard(SoupGameMessage.hasStopped) ) return @@ -45,15 +44,13 @@ const startOrStopGame = async ( const res = await db.soupGame.close(activeGame.id) if (!res) { logger.error(`chatId: ${chatId} failed to close the game`) - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genErrorCard(SoupGameMessage.startFailed) ) } // 手动结束 if (which === "manual") { - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genCard("markdownSuccessCard", { content: ` 游戏结束! @@ -65,8 +62,7 @@ const startOrStopGame = async ( ) } else { // 自动结束 - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genCard("markdownSuccessCard", { llmRes: ` 恭喜您回答正确!游戏结束! @@ -83,8 +79,7 @@ const startOrStopGame = async ( // 开始游戏,有进行中的游戏 if (activeGame) { logger.info(`chatId: ${chatId} has an active game`) - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genSuccessCard(SoupGameMessage.hasStarted) ) return @@ -94,8 +89,7 @@ const startOrStopGame = async ( const game = await attachService.startSoup() if (!game) { logger.error(`chatId: ${chatId} failed to start a new game`) - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genErrorCard(SoupGameMessage.startFailed) ) return @@ -110,16 +104,14 @@ const startOrStopGame = async ( const res = await db.soupGame.create(newSoupGame) if (!res) { logger.error(`chatId: ${chatId} failed to create a new game`) - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genErrorCard(SoupGameMessage.startFailed) ) return } logger.info(`chatId: ${chatId} created a new game`) // 回复用户模型的消息 - await larkService.message.replyCard( - messageId, + await message.updateOrReply( cardGender.genCard("markdownSuccessCard", { content: ` 游戏开始啦! @@ -158,8 +150,7 @@ const chat2Soup = async (ctx: Context) => { }) if (!res) { logger.error(`chatId: ${chatId} failed to get soup result`) - await message.replyCard( - messageId, + await message.updateOrReply( cardGender.genErrorCard(SoupGameMessage.chatFailed) ) return