补签日志撤回

This commit is contained in:
liuwei
2025-06-04 10:00:51 +08:00
parent c4b25272f2
commit 84f2a11a5e

View File

@@ -363,6 +363,7 @@ class MessageSignPlugin(MessagePluginInterface):
roomid = message.get("roomid", "")
all_contacts = message.get("all_contacts", {})
revoke: MessageAutoRevoke = message.get("revoke")
try:
# 获取当前时间,带有时区信息
current_time = datetime.now(tz=pytz.timezone(self.timezone))
@@ -410,26 +411,34 @@ class MessageSignPlugin(MessagePluginInterface):
else:
# 昨天已经签到了或者断签超过一天,不需要补签
self.LOG.info(f"不符合补签条件last_sign_date: {last_sign_date}, sign_stat: {sign_stat}")
await self.bot.send_text_message(
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(
(roomid if roomid else sender), "❌ 您昨天已经签到过了或断签超过一天,不符合补签条件!", sender
)
revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 3)
return True, "不符合补签条件"
else:
# 今天未签到,检查是否符合补签条件(只能补签昨天)
if not last_sign_date or last_sign_date < day_before_yesterday:
self.LOG.info(f"断签超过一天last_sign_date: {last_sign_date}")
await self.bot.send_text_message((roomid if roomid else sender),
"❌ 只能补签断签一天的情况!您已断签超过一天或没有签到记录。",
sender
)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(
(roomid if roomid else sender),
"❌ 只能补签断签一天的情况!您已断签超过一天或没有签到记录。",
sender
)
revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5)
return True, "不符合补签条件"
if last_sign_date >= yesterday:
self.LOG.info(f"昨天已签到last_sign_date: {last_sign_date}")
await self.bot.send_text_message((roomid if roomid else sender),
"❌ 您昨天已经签到过了,不需要补签!",
sender
)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(
(roomid if roomid else sender),
"❌ 您昨天已经签到过了,不需要补签!",
sender
)
revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5)
return True, "无需补签"
# 检查用户积分是否足够
@@ -438,10 +447,12 @@ class MessageSignPlugin(MessagePluginInterface):
user_points = points_db.get_user_points(sender, roomid)
if not user_points or user_points["total_points"] < self.makeup_cost:
await self.bot.send_text_message((roomid if roomid else sender),
f"❌ 积分不足!补签需要 {self.makeup_cost} 积分,您当前只有 {user_points.get('total_points', 0)} 积分。",
sender
)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(
(roomid if roomid else sender),
f"❌ 积分不足!补签需要 {self.makeup_cost} 积分,您当前只有 {user_points.get('total_points', 0)} 积分。",
sender
)
revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5)
return True, "积分不足"
# 扣除积分
@@ -451,10 +462,12 @@ class MessageSignPlugin(MessagePluginInterface):
)
if not deduct_success:
await self.bot.send_text_message((roomid if roomid else sender),
f"❌ 扣除积分失败:{deduct_result.get('error', '未知错误')}",
sender
)
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(
(roomid if roomid else sender),
f"❌ 扣除积分失败:{deduct_result.get('error', '未知错误')}",
sender
)
revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5)
return True, "扣除积分失败"
# 在_handle_makeup_sign方法中修改计算新连签天数的逻辑
@@ -519,8 +532,9 @@ class MessageSignPlugin(MessagePluginInterface):
except Exception as e:
self.LOG.error(f"处理补签请求出错: {e}")
await self.bot.send_text_message(
client_msg_id, create_time, new_msg_id = await self.bot.send_text_message(
(roomid if roomid else sender),
f"❌ 补签出错:{e}", sender
)
revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5)
return False, f"处理出错: {e}"