diff --git a/plugins/game_task/main.py b/plugins/game_task/main.py index 8df44ac..b857b75 100644 --- a/plugins/game_task/main.py +++ b/plugins/game_task/main.py @@ -133,7 +133,8 @@ class GameTaskPlugin(MessagePluginInterface): self._handle_get_task(sender, roomid) return True, "获取任务成功" elif command == "/a": - points = self._handle_submit_answer(content, sender, roomid) + # 修改这里,传入整个 message 对象 + points = self._handle_submit_answer(message) return True, str(points) elif command == "/r": self._handle_show_rank(sender, roomid) @@ -256,10 +257,15 @@ class GameTaskPlugin(MessagePluginInterface): except (TypeError, ValueError): return 0 + # 修复参数问题,确保方法签名与调用方式匹配 @points_reward_decorator(calculate_game_points, "game", "百科答题奖励") - def _handle_submit_answer(self, content: str, sender: str, roomid: str) -> int: + def _handle_submit_answer(self, message: Dict[str, Any]) -> int: """处理提交答案请求""" try: + content = str(message.get("content", "")).strip() + sender = message.get("sender") + roomid = message.get("roomid", "") + parts = content.split(" ", 2) if len(parts) < 3: self.message_util.send_text_msg(