Metadata-Version: 2.4
Name: soroushthon
Version: 0.2.21
Summary: Community Soroush Plus user-client fork of SPlusthon and Telethon
License-Expression: GPL-3.0-only
Keywords: soroush plus,asyncio,messaging,user client
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Android
Classifier: Topic :: Communications :: Chat
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: TELETHON_LICENSE
License-File: NOTICE.md
Requires-Dist: aiohttp>=3.8
Requires-Dist: pyaes>=1.6
Requires-Dist: rsa>=4
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"
Requires-Dist: pytest-asyncio>=0.23; extra == "test"
Provides-Extra: media
Requires-Dist: hachoir>=3.3; extra == "media"
Dynamic: license-file

# Soroushthon

کتابخانهٔ غیررسمی پایتون برای حساب کاربری سروش‌پلاس. این پروژه فورکی از SPlusthon، برگرفته از Telethon است و تحت GPLv3 منتشر می‌شود. به برنامهٔ رسمی سروش‌پلاس وابسته نیست و همهٔ ۳۶۶ درخواست خام همراه بسته روی سرور تأیید نشده‌اند.

## نصب

پس از انتشار این نسخه در PyPI:

```sh
python -m pip install soroushthon
```

پایتون ۳٫۹ یا بالاتر لازم است. این فورک در محیط محلی با پایتون ۳٫۱۲ و روی گوشی آزمایشی با پایتون ۳٫۱۳ اجرا شده است؛ همهٔ نسخه‌ها و سیستم‌عامل‌ها آزمون نشده‌اند. نصب وابستگی‌های `aiohttp`، `pyaes` و `rsa` به عهدهٔ pip است.

## شروع

```python
import asyncio
from soroushthon import SoroushClient


async def main():
    client = SoroushClient.for_account('main')
    await client.start()  # نخستین اجرا شماره و کد تأیید را می‌پرسد
    try:
        me = await client.me()
        print(me.id, me.first_name)
        dialogs = await client.dialogs(limit=3)
        print('dialogs:', len(dialogs))
    finally:
        await client.disconnect()


asyncio.run(main())
```

نشست حساب در پوشهٔ خانگی کاربر ذخیره می‌شود؛ فایل `.session` را منتشر نکنید. `SoroushClient.for_account('test')` نشست دیگری می‌سازد. متدهای کوتاه مانند `send`، `file`، `download`، `poll`، `vote` و `react` نام دوم متدهای مفصل متناظرند و رفتار مستقلی ندارند. رابط `await client(request)` برای درخواست‌های خام TL نیز وجود دارد.

ارسال و دانلود پنج قالب رسانهٔ کوچک، سند چندبخشی ۲ مگابایتی و یک سناریوی نظرسنجی/رأی/واکنش در حساب آزمایشی گزارش موفق دارند. دانلود کامل فایل بالای ۱۰ مگابایت، تماس صوتی/تصویری گروهی، بسیاری از متدهای مدیریتی و شاخه‌های احراز هویت هنوز تأیید یا پیاده‌سازی کامل ندارند. ساخت درخواست تماس گروهی به معنی امکان پیوستن یا انتقال صدا نیست.

کد منبع همراه مستندات `README.md`، `INTERACTIONS.md`، `MEDIA.md`، `PARITY.md`، `AUDIT.md` و فهرست `CAPABILITIES.md` در توزیع منبع موجود است. منشأ فورک و مجوزها در `NOTICE.md`، `LICENSE` و `TELETHON_LICENSE` ثبت شده‌اند.
