mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-09 13:50:00 +08:00
bugfix:修复notice事件扩散问题 (#2132)
* bugfix:修复notice事件扩散问题 * 优化并发调度 * bugfix:修复签到样式 * bugfix:功能调用统计修复 * bugfix:修复私聊时功能调用统计显示已退群问题 * 提高插件适配兼容性 * 优化发送队列 * 修改权限检查设计 * 继续修改权限检查设计 * 完善权限检查设计 * 优化sqlite配置 * 优化数据库初始化 * 代码整理,无用代码清理 * bugfix:修复启动时数据库校验问题 * bugfix:修复预算裁剪过于激进问题
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import time
|
||||
|
||||
from .auth.config import WARNING_THRESHOLD
|
||||
|
||||
|
||||
class HookTraceRecorder:
|
||||
def __init__(self, start_time: float) -> None:
|
||||
self._start_time = start_time
|
||||
self._enabled = False
|
||||
self._data: dict[str, str] = {}
|
||||
|
||||
def _ensure_enabled(self) -> bool:
|
||||
if self._enabled:
|
||||
return True
|
||||
if time.time() - self._start_time <= WARNING_THRESHOLD:
|
||||
return False
|
||||
self._enabled = True
|
||||
return True
|
||||
|
||||
def set(self, key: str, value: str) -> None:
|
||||
if self._ensure_enabled():
|
||||
self._data[key] = value
|
||||
|
||||
def setdefault(self, key: str, value: str) -> None:
|
||||
if self._ensure_enabled():
|
||||
self._data.setdefault(key, value)
|
||||
|
||||
def contains(self, key: str) -> bool:
|
||||
return key in self._data
|
||||
|
||||
def snapshot(self) -> dict[str, str]:
|
||||
return self._data if self._enabled else {}
|
||||
|
||||
|
||||
__all__ = ["HookTraceRecorder"]
|
||||
Reference in New Issue
Block a user