diff --git a/plugins/xiuxian/main.py b/plugins/xiuxian/main.py index 37786bb..bfd9c4f 100644 --- a/plugins/xiuxian/main.py +++ b/plugins/xiuxian/main.py @@ -1439,7 +1439,7 @@ class XiuxianPlugin(MessagePluginInterface): # 失败,受伤保护 player["status"] = "Injured" player["status_until"] = ( - datetime.now(timezone.utc) + timedelta(minutes=rule["injured_min"])).isoformat() + datetime.now(timezone.utc) + timedelta(minutes=rule["injured_min"])).isoformat() self._save_player(player) self._rate_set(sender, roomid or "", "使用") await self._send_text_with_status(bot, sender, roomid, @@ -1489,7 +1489,7 @@ class XiuxianPlugin(MessagePluginInterface): if fail > 0: player["status"] = "Unstable_Qi" player["status_until"] = ( - datetime.now(timezone.utc) + timedelta(minutes=int(self.unstable_qi_minutes))).isoformat() + datetime.now(timezone.utc) + timedelta(minutes=int(self.unstable_qi_minutes))).isoformat() if self.xdb: try: self.xdb.update_player_fields(sender, player.get("group_id", ""), @@ -1712,7 +1712,7 @@ class XiuxianPlugin(MessagePluginInterface): attacker["spirit_stone"] = int(attacker.get("spirit_stone", 0)) + gain defender["status"] = "Injured" defender["status_until"] = ( - datetime.now(timezone.utc) + timedelta(minutes=int(self.injured_minutes))).isoformat() + datetime.now(timezone.utc) + timedelta(minutes=int(self.injured_minutes))).isoformat() if self.xdb: try: self.xdb.update_player_fields(defender.get("user_id"), defender.get("group_id", ""), @@ -1786,13 +1786,16 @@ class XiuxianPlugin(MessagePluginInterface): return True, "赠与成功" - async def _cmd_give_item(self, bot: WechatAPIClient, sender: str, roomid: str, content: str, message: Dict[str, Any]) -> Tuple[bool, str]: + async def _cmd_give_item(self, bot: WechatAPIClient, sender: str, roomid: str, content: str, + message: Dict[str, Any]) -> Tuple[bool, str]: parts = content.strip().split() if len(parts) < 1: return False, "道友施法有误,指令格式不对" msg = message.get("full_wx_msg") xml = getattr(msg, "msg_source", None) if msg else None target_wxid = None + item_name = None + qty = 0 if roomid and xml: try: import xml.etree.ElementTree as ET @@ -1854,7 +1857,9 @@ class XiuxianPlugin(MessagePluginInterface): self._save_player(giver) self._save_player(receiver) self._rate_set(sender, roomid or "", "赠送") - await self._send_text_with_status(bot, sender, roomid, f"✅ 已向 {receiver.get("dao_name", "")} 赠送 {item_name} × {qty}", 90) + dao_name =receiver.get("dao_name", "") + await self._send_text_with_status(bot, sender, roomid, + f"✅ 已向 {dao_name} 赠送 {item_name} × {qty}", 90) return True, "赠送成功" async def _cmd_clan_create(self, bot: WechatAPIClient, sender: str, roomid: str, content: str) -> Tuple[bool, str]: