更新 qiandao/scripts/qiandao.py
This commit is contained in:
parent
195d8eca99
commit
22336380ad
@ -1,17 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
# pyright: reportExplicitAny=false, reportAny=false, reportUnknownMemberType=false, reportUnknownArgumentType=false, reportUnknownVariableType=false, reportUnusedVariable=false, reportUnusedImport=false
|
||||
"""签到游戏插件 - 支持每日签到、连续签到奖励、排行榜"""
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import traceback
|
||||
from datetime import date, datetime
|
||||
from datetime import date, timedelta
|
||||
from typing import Any
|
||||
|
||||
sys.stderr = sys.stdout
|
||||
|
||||
# ---------- 数据存储 ----------
|
||||
DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "data")
|
||||
DATA_FILE = os.path.join(DATA_DIR, "qiandao.json")
|
||||
@ -172,9 +170,8 @@ def leaderboard(top_n: int = 10) -> str:
|
||||
def cleanup_old_history(data: dict[str, Any]) -> None:
|
||||
"""清理超过 MAX_HISTORY_DAYS 的历史记录。"""
|
||||
today = date.today()
|
||||
threshold = today.isoformat()
|
||||
cutoff = (today - timedelta(days=MAX_HISTORY_DAYS)).isoformat()
|
||||
for uid, user in data["users"].items():
|
||||
cutoff = (today - __import__("datetime").timedelta(days=MAX_HISTORY_DAYS)).isoformat()
|
||||
user["history"] = [d for d in user["history"] if d >= cutoff]
|
||||
user["points_history"] = [p for p in user["points_history"] if p.split("|")[0] >= cutoff]
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user