import time from src.config.config import global_config from src.common.message_repository import count_messages def get_recent_message_stats(minutes: int = 30, chat_id: str = None) -> dict: """ Args: minutes (int): 检索的分钟数,默认30分钟 chat_id (str, optional): 指定的chat_id,仅统计该chat下的消息。为None时统计全部。 Returns: dict: {"bot_reply_count": int, "total_message_count": int} """ now = time.time() start_time = now - minutes * 60 bot_id = global_config.bot.qq_account filter_base = {"time": {"$gte": start_time}} if chat_id is not None: filter_base["chat_id"] = chat_id # 总消息数 total_message_count = count_messages(filter_base) # bot自身回复数 bot_filter = filter_base.copy() bot_filter["user_id"] = bot_id bot_reply_count = count_messages(bot_filter) return {"bot_reply_count": bot_reply_count, "total_message_count": total_message_count}