Skip to main content

کتابخانه حرفه‌ای سروش پلاس برای پایتون - Professional Soroush Plus Web Client Library

Project description

SoroPy 🚀

حرفه‌ای‌ترین کتابخانه پایتون برای سروش پلاس

PyPI Downloads Python License


✨ امکانات

قابلیت توضیح
🔐 لاگین خودکار ورود با شماره + کد تأیید، ذخیره سشن
💬 استخراج چت‌ها لیست همه / شخصی / گروه / کانال
📨 ارسال پیام تکی و دسته‌ای به چت‌های شخصی
📢 ارسال در کانال پست گذاشتن (نیاز به ادمین بودن)
📇 مدیریت مخاطبین مشاهده، اضافه کردن، جستجو
🤖 پاسخ خودکار موتور قوانین + جلوگیری از پاسخ تکراری
👁️ مانیتور مداوم بررسی و پاسخ خودکار هر X ثانیه
👥 چند اکانت مدیریت همزمان چندین حساب
🖥️ بدون پنجره حالت headless - بدون نمایش مرورگر
🧵 Thread-safe طراحی ایمن برای چند نخی
💾 ذخیره سشن بدون نیاز به لاگین مجدد

📦 نصب

pip install soropy

پیش‌نیازها

  • Python 3.8+
  • Google Chrome / Chromium
  • ChromeDriver (مطابق نسخه Chrome)

🚀 شروع سریع

استفاده ساده

from soropy import SoroushClient

client = SoroushClient("09123456789")
client.login()

# ارسال پیام
client.send_message("علی", "سلام!")

# استخراج لیست چت
chats = client.get_chats()
print(f"تعداد چت: {chats.total_count}")

client.close()

Context Manager

from soropy import SoroushClient

with SoroushClient("09123456789", headless=True) as client:
    client.login()
    client.send_message("علی", "سلام!")

🤖 پاسخ خودکار

from soropy import SoroushClient

client = SoroushClient("09123456789")
client.login()

# تعریف قوانین
client.add_reply_rule("سلام", "علیک سلام! 👋")
client.add_reply_rule("قیمت", "لطفاً به سایت مراجعه کنید")
client.set_default_reply("پیامت دریافت شد ✅")

# شروع مانیتور (Ctrl+C برای توقف)
client.start_monitor(interval=30)

client.close()

جلوگیری از پاسخ تکراری

SoroPy به‌صورت خودکار هش پیام‌های پاسخ‌داده‌شده را ذخیره می‌کند. حتی بعد از ریستارت برنامه، پیام‌های قبلی دوباره پاسخ نمی‌گیرند.


👥 چند اکانت همزمان

from soropy import MultiAccountManager

with MultiAccountManager(headless=True) as mgr:
    mgr.add_account("09123456789")
    mgr.add_account("09187654321")

    mgr.login_all()

    # ارسال از هر اکانت
    mgr.get_client("09123456789").send_message("علی", "سلام از اکانت ۱")
    mgr.get_client("09187654321").send_message("علی", "سلام از اکانت ۲")

    # مانیتور همه
    mgr.start_all_monitors(interval=30)

📇 مخاطبین

# لیست مخاطبین
contacts = client.get_contacts()

# اضافه کردن
client.add_contact("09187654321", "محمد", "احمدی")

# جستجو
results = client.search_contacts("محمد")

📢 کانال

# ارسال پست (نیاز به ادمین بودن)
client.send_to_channel("@my_channel", "پیام تست")

⚙️ تنظیمات پیشرفته

client = SoroushClient(
    phone="09123456789",
    headless=True,                     # بدون پنجره
    session_dir="my_sessions",         # مسیر ذخیره سشن
    tracker_path="my_tracker.json",    # فایل ردیاب پیام
    log_file="soropy.log",             # فایل لاگ
    chrome_binary="/usr/bin/chromium", # مسیر Chrome
    chromedriver_path="/usr/bin/chromedriver",
    extra_chrome_args=["--proxy-server=..."],
)

🏗️ معماری

SoroushClient (client.py)
├── BrowserManager (browser.py)        → مدیریت Chrome
├── Authenticator (auth.py)            → فرآیند لاگین
├── ChatManager (chat.py)              → عملیات چت
├── ContactManager (contacts.py)       → مدیریت مخاطبین
├── ChannelManager (channel.py)        → عملیات کانال
├── AutoReplyEngine (auto_reply.py)    → موتور پاسخ خودکار
├── MessageTracker (message_tracker.py)→ جلوگیری از تکرار
└── SessionManager (session.py)        → مدیریت سشن

MultiAccountManager (multi.py)
└── Dict[phone, SoroushClient]         → چند اکانت

📄 License

MIT License - آزاد برای استفاده شخصی و تجاری


📬 ارتباط با توسعه‌دهنده

Telegram Rubika Bale


🤝 مشارکت

نظرات، پیشنهادات و مشارکت‌های شما استقبال می‌شود!

  • 💬 پیام مستقیم از طریق شبکه‌های بالا
  • 🐛 گزارش باگ از طریق Issues
  • 🔀 ارسال Pull Request از طریق GitHub

ساخته شده با ❤️ توسط MrHjf
PyPIGitHubتلگرام

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soropy-1.0.2.tar.gz (40.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soropy-1.0.2-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file soropy-1.0.2.tar.gz.

File metadata

  • Download URL: soropy-1.0.2.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for soropy-1.0.2.tar.gz
Algorithm Hash digest
SHA256 a3b96206ab8d39239bfef974cb30c57d722c5b1e2683b499a3821df0f0a89201
MD5 b15a6bd8f282f1334562a1da3b1bff57
BLAKE2b-256 00aa556e6112f1174263770dbe7cb9b831567c9cb957baf173de6bc786ff7470

See more details on using hashes here.

File details

Details for the file soropy-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: soropy-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for soropy-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 47d4af7b76a3c73811903a60345873671cdf35cf49f4c3575103fd0ab7c6f4a2
MD5 ef40f02083e72ae11e387cb50092776d
BLAKE2b-256 54a3d8525c1c0023515d8afa796e57855af4ebb9cad5f57f59e69cfa05b1a78e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page