forked from bot/app
34 lines
934 B
Python
34 lines
934 B
Python
import time
|
|
from typing import Any
|
|
from .common import MessageEventModel, msg_db
|
|
|
|
|
|
def get_stat_msg_data(duration, period) -> tuple[list[int,], list[int,]]:
|
|
"""
|
|
获取统计消息
|
|
Args:
|
|
duration: 统计时间,单位秒
|
|
period: 统计周期,单位秒
|
|
|
|
Returns:
|
|
tuple: [int,], [int,] 两个列表,分别为周期中心时间戳和消息数量
|
|
"""
|
|
now = int(time.time())
|
|
msg_rows = msg_db.where_all(
|
|
MessageEventModel(),
|
|
"time > ?",
|
|
now - duration
|
|
)
|
|
timestamps = []
|
|
msg_count = []
|
|
msg_rows.sort(key=lambda x: x.time)
|
|
for msg_row in msg_rows:
|
|
period_center_time = msg_row.time - msg_row.time % period + period // 2
|
|
|
|
# if not timestamps or period_start_time != timestamps[-1]:
|
|
# timestamps.append(period_start_time)
|
|
# msg_count.append(1)
|
|
# else:
|
|
# msg_count[-1] += 1
|
|
#
|