remottxrea
Advanced tools
+1
-1
| Metadata-Version: 2.4 | ||
| Name: remottxrea | ||
| Version: 1.0.98 | ||
| Version: 1.0.99 | ||
| Summary: Remote client framework for Telegram automation using Pyrogram | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/MohammadAhmadi-R/remottxrea |
+1
-1
@@ -7,3 +7,3 @@ [build-system] | ||
| name = "remottxrea" | ||
| version = "1.0.98" | ||
| version = "1.0.99" | ||
| description = "Remote client framework for Telegram automation using Pyrogram" | ||
@@ -10,0 +10,0 @@ readme = "README.md" |
| Metadata-Version: 2.4 | ||
| Name: remottxrea | ||
| Version: 1.0.98 | ||
| Version: 1.0.99 | ||
| Summary: Remote client framework for Telegram automation using Pyrogram | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/MohammadAhmadi-R/remottxrea |
+1
-1
@@ -8,3 +8,3 @@ from setuptools import setup, find_packages | ||
| name="remottxrea", | ||
| version="1.0.98", | ||
| version="1.0.99", | ||
| author="MrAhmadiRad", | ||
@@ -11,0 +11,0 @@ author_email="mohammadahmadirad69@gmail.com", |
@@ -13,5 +13,3 @@ # remottxrea/actions/account_overview.py | ||
| from ..runner.multi_session_runner import ( | ||
| MultiSessionRunner | ||
| ) | ||
| from ..runner.multi_session_runner import MultiSessionRunner | ||
@@ -34,5 +32,3 @@ | ||
| # گرفتن snapshot ایمن از client ها | ||
| async with self.runner._lock: | ||
| clients = list(self.runner.clients.items()) | ||
| clients = await self._safe_snapshot() | ||
@@ -43,4 +39,4 @@ if not clients: | ||
| tasks = [ | ||
| self._inspect_single(phone, app) | ||
| for phone, app in clients | ||
| self._inspect_single(phone, managed) | ||
| for phone, managed in clients | ||
| ] | ||
@@ -59,4 +55,24 @@ | ||
| # ====================================================== | ||
| async def _inspect_single(self, phone, app) -> Dict: | ||
| async def _safe_snapshot(self): | ||
| """ | ||
| گرفتن snapshot امن از client ها | ||
| سازگار با هر نسخه runner | ||
| """ | ||
| # ---- اگر registry lock داشته باشد ---- | ||
| if hasattr(self.runner, "_registry_lock"): | ||
| async with self.runner._registry_lock: | ||
| return list(self.runner.clients.items()) | ||
| # ---- اگر lock قدیمی داشته باشد ---- | ||
| if hasattr(self.runner, "_lock"): | ||
| async with self.runner._lock: | ||
| return list(self.runner.clients.items()) | ||
| # ---- fallback بدون lock (آخرین راه) ---- | ||
| return list(self.runner.clients.items()) | ||
| # ====================================================== | ||
| async def _inspect_single(self, phone, managed) -> Dict: | ||
| async with self.semaphore: | ||
@@ -75,2 +91,5 @@ | ||
| try: | ||
| # در runner جدید managed wrapper است | ||
| app = getattr(managed, "client", managed) | ||
| # ---- ensure running ---- | ||
@@ -77,0 +96,0 @@ if not app.is_connected: |
@@ -36,2 +36,11 @@ # remottxrea/bot/main_bot.py | ||
| async def startup(): | ||
| print("🔄 Loading sessions...") | ||
| # فقط load_all داریم — watcher حذف شده | ||
| await router.registry.runner.load_all() | ||
| print("✅ Session pool ready") | ||
| def run(): | ||
@@ -48,3 +57,4 @@ """ | ||
| await router.dispatch(client, message) | ||
| app.loop.run_until_complete(startup()) | ||
| app.run() | ||
@@ -51,0 +61,0 @@ |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
143243
0.74%3846
0.52%