diff --git a/Plugins/WPSBackpackSystem.py b/Plugins/WPSBackpackSystem.py index f5f1909..a7f99ff 100644 --- a/Plugins/WPSBackpackSystem.py +++ b/Plugins/WPSBackpackSystem.py @@ -7,6 +7,7 @@ from typing import Dict, List, Optional, override from PWF.Convention.Runtime.Architecture import Architecture from PWF.Convention.Runtime.GlobalConfig import ConsoleFrontColor, ProjectConfig from PWF.CoreModules.database import get_db +from PWF.CoreModules.flags import get_internal_debug from .WPSAPI import WPSAPI @@ -419,6 +420,36 @@ class WPSItemDescription(WPSAPI): lines.append(f"- 提示:{note}") return "\n".join(lines) + +if get_internal_debug(): + class WPSDebugGiveItem(WPSAPI): + @override + def dependencies(self) -> List[type]: + return [WPSBackpackSystem] + + @override + def is_enable_plugin(self) -> bool: + return True + + @override + def wake_up(self) -> None: + self.register_plugin("give") + + async def callback(self, message: str, chat_id: int, user_id: int) -> Optional[str]: + payload = self.parse_message_after_at(message).strip() + if payload == "": + return await self.send_markdown_message("❌ 指令格式:`give <物品ID> [数量]`", chat_id, user_id) + tokens = [token.strip() for token in payload.split() if token.strip()] + if not tokens or not tokens[0]: + return await self.send_markdown_message("❌ 指令格式:`give <物品ID> [数量]`", chat_id, user_id) + item_id = tokens[0] + quantity = int(tokens[1]) if len(tokens) > 1 else 1 + if quantity <= 0: + return await self.send_markdown_message("❌ 数量必须大于0", chat_id, user_id) + backpack: WPSBackpackSystem = Architecture.Get(WPSBackpackSystem) + backpack.add_item(user_id, item_id, quantity) + return await self.send_markdown_message(f"✅ 成功给予 {quantity} 个 {item_id} 给用户 {user_id}", chat_id, user_id) + __all__ = [ "WPSBackpackSystem", "BackpackItemTier",