You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

remottxrea

Package Overview
Dependencies
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

remottxrea - pypi Package Compare versions

Comparing version
1.0.98
to
1.0.99
+1
-1
PKG-INFO
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

@@ -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

@@ -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 @@