From bb4503c3f3d38dccc791501381c6bdc54e72e74a Mon Sep 17 00:00:00 2001 From: liuwei Date: Wed, 16 Apr 2025 15:12:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AD=94=E9=A2=98=E6=80=9D?= =?UTF-8?q?=E8=B7=AF=EF=BC=8C=E6=96=B0=E7=BE=A4=E8=87=AA=E5=8A=A8=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/game_task/main.py | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/plugins/game_task/main.py b/plugins/game_task/main.py index a1f50f3..7986e3a 100644 --- a/plugins/game_task/main.py +++ b/plugins/game_task/main.py @@ -193,15 +193,34 @@ class GameTaskPlugin(MessagePluginInterface): # 获取群内所有玩家 players = self.encyclopedia_db.get_all_players_in_group(roomid) + # 如果群里没有玩家,自动初始化并添加当前用户 if not players: + # 检查并添加群聊 + if not self.encyclopedia_db.check_group_exists(roomid): + self.encyclopedia_db.add_group(roomid) + self.message_util.send_text_msg( + f"🎉 群 {roomid} 已就位,准备开燥!", + (roomid if roomid else sender), + sender + ) + + # 获取用户昵称 (从all_contacts中获取可能不可行,因为这里没有all_contacts参数) + # 使用sender作为临时昵称 + wx_nick_name = sender + + # 添加当前用户为玩家 + self.encyclopedia_db.add_player(sender, roomid, wx_nick_name) self.message_util.send_text_msg( - f"😔 哎呀,群 {roomid} 静悄悄\n" - f"🌟 快拉小伙伴来嗨吧!", + f"🎉 哇塞,{wx_nick_name} 你是第一个玩家!\n" + f"🌟 已自动为你加入游戏!\n" + f"🎈 现在就为你准备题目...", (roomid if roomid else sender), sender ) - return - + + # 更新玩家列表 + players = self.encyclopedia_db.get_all_players_in_group(roomid) + player_dict = {p['player_id']: p['player_name'] for p in players} if sender not in player_dict: self.message_util.send_text_msg( @@ -212,6 +231,7 @@ class GameTaskPlugin(MessagePluginInterface): ) return + # 以下是原有的出题逻辑 task = game_question_json("请出题!") category = task["category"] question = task["question"]