feat: 更新游戏停止逻辑,支持私聊和正常对话场景

This commit is contained in:
zhaoyingbo 2025-01-14 09:30:51 +00:00
parent bb26ab794d
commit 517287eb52

View File

@ -33,14 +33,16 @@ const startOrStopGame = async (
}
// 停止游戏
if (!value) {
// 没有进行中的游戏
if (!activeGame) {
// 没有进行中的游戏是私聊或者at机器人回复停止游戏
if (!activeGame && isP2POrAtBot(ctx)) {
await larkService.message.replyCard(
messageId,
cardGender.genSuccessCard(SoupGameMessage.hasStopped)
)
return
}
// 没有进行中的游戏,且是正常对话,不响应
if (!activeGame) return
// 有进行中的游戏,关闭游戏
logger.info(`chatId: ${chatId} is closing the game`)
const res = await db.soupGame.close(activeGame.id)
@ -193,7 +195,7 @@ const soupAgent = async (ctx: Context) => {
startOrStopGame(ctx, true)
return true
}
if (msgText === "结束游戏" && isP2POrAtBot(ctx)) {
if (msgText === "结束游戏") {
startOrStopGame(ctx, false)
return true
}