尝试修复积分系统

This commit is contained in:
2025-10-29 12:56:57 +08:00
parent 8e883fe5e1
commit 581a516610
4 changed files with 22 additions and 42 deletions

View File

@@ -32,20 +32,9 @@ class GiftGame(BaseGame):
_, args = CommandParser.extract_command_args(command)
args = args.strip()
# 赠送统计
if args in ['stats', '统计']:
return self._get_gift_stats(user_id)
# 发送记录
elif args in ['sent', '发送', '送出']:
return self._get_gift_records_sent(user_id)
# 接收记录
elif args in ['received', '接收', '收到']:
return self._get_gift_records_received(user_id)
# 赠送帮助
elif args in ['help', '帮助']:
if args in ['help', '帮助']:
return self._get_gift_help()
# 默认:执行赠送
@@ -89,11 +78,18 @@ class GiftGame(BaseGame):
if sender_id == receiver_id:
return "❌ 不能赠送积分给自己!"
# 执行赠送
if self.db.send_gift(sender_id, receiver_id, points, message):
# 检查赠送者积分是否足够
sender_points = self.db.get_user_points(sender_id)
if sender_points['points'] < points:
return f"❌ 积分不足!需要 {points} 积分,当前可用 {sender_points['points']} 积分"
# 执行赠送(消费赠送者积分,增加接收者积分)
if (self.db.consume_points(sender_id, points, "gift_send", f"赠送积分给用户{receiver_id}") and
self.db.add_points(receiver_id, points, "gift_receive", f"收到用户{sender_id}的积分赠送")):
# 获取更新后的积分信息
sender_points = self.db.get_user_points(sender_id)
receiver_points = self.db.get_user_points(receiver_id)
sender_points_after = self.db.get_user_points(sender_id)
receiver_points_after = self.db.get_user_points(receiver_id)
text = f"## 🎁 积分赠送成功!\n\n"
text += f"**赠送者**:用户{sender_id}\n\n"
@@ -103,8 +99,8 @@ class GiftGame(BaseGame):
if message:
text += f"**附赠消息**{message}\n\n"
text += f"**赠送者剩余积分**{sender_points['available_points']}\n\n"
text += f"**接收者当前积分**{receiver_points['available_points']}\n\n"
text += f"**赠送者剩余积分**{sender_points_after['points']}\n\n"
text += f"**接收者当前积分**{receiver_points_after['points']}\n\n"
text += "---\n\n"
text += "💝 感谢您的慷慨赠送!"