新增debug模式的give指令
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user