修改赠送功能

This commit is contained in:
liuwei
2025-11-27 16:58:07 +08:00
parent 254081a286
commit f0b15c7888

View File

@@ -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]: