"""Точные замеры: живые sqlite-соединения, логика владельца бота, реальность rank.py.""" import gc import os import re import sqlite3 import sys from pathlib import Path ROOT = Path(__file__).resolve().parent.parent sys.path.insert(0, str(ROOT)) os.environ.setdefault("PYTHONIOENCODING", "utf-8") def count_conns(): gc.collect() return sum(1 for o in gc.get_objects() if isinstance(o, sqlite3.Connection)) from omni import store # noqa: E402 base = count_conns() for _ in range(50): store.top(limit=1) print("sqlite conn живых: до", base, "после 50 вызовов", count_conns()) src = (ROOT / "omni" / "bot.py").read_text(encoding="utf-8") m = re.search(r"if not OWNERS:.*?(?=\n\s*fn = |\n\s*cmd = )", src, re.S) print("owner-блок:\n", (m.group(0).strip()[:400] if m else "не найден")) print("OMNI_BOT_OWNERS в коде:", "OMNI_BOT_OWNERS" in src) cli = (ROOT / "omni" / "cli.py").read_text(encoding="utf-8") print("rank в cli.py:", [ln.strip()[:80] for ln in cli.splitlines() if "rank" in ln][:4]) rank = (ROOT / "omni" / "rank.py").read_text(encoding="utf-8") print("rank.py функций:", re.findall(r"def (\w+)", rank))