diff --git a/utils/decorator/points_decorator.py b/utils/decorator/points_decorator.py index 3fa8fdb..89b7a57 100644 --- a/utils/decorator/points_decorator.py +++ b/utils/decorator/points_decorator.py @@ -89,18 +89,21 @@ def points_reward_decorator(points_calculator: Union[int, Callable], source_type logger.info(f"用户 {sender} 获得 {points} 积分奖励") levels_db = LevelsDBOperator(db_manager) ok, lvl = levels_db.add_exp(sender, roomid, points, source.value) - - # 如果响应中没有提到积分,添加积分信息 if "积分" not in response: response += f"\n🎁 恭喜获得 {points} 积分奖励!" - if ok and isinstance(lvl, dict) and "level" in lvl and "exp" in lvl: - title = levels_db.level_title(int(lvl['level'])) - response += f"\n🔰 当前等级: {lvl['level']}({title}) 经验: {lvl['exp']}" client_msg_id, create_time, new_msg_id = await bot.send_at_message( (roomid if roomid else sender), response, [sender] ) revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5) + if ok and isinstance(lvl, dict) and "level" in lvl and "exp" in lvl: + title = levels_db.level_title(int(lvl['level'])) + level_msg = f"🔰 当前等级: {lvl['level']}({title}) 经验: {lvl['exp']}" + client_msg_id, create_time, new_msg_id = await bot.send_at_message( + (roomid if roomid else sender), + level_msg, [sender] + ) + revoke.add_message_to_revoke(roomid, client_msg_id, create_time, new_msg_id, 5) else: logger.warning(f"用户 {sender} 积分奖励失败: {reward_result}") except Exception as e: