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.4.tar.gz (42.3 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.4-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: soropy-1.0.4.tar.gz
  • Upload date:
  • Size: 42.3 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.4.tar.gz
Algorithm Hash digest
SHA256 3beeb40044c944b1992c4ffcac6a14c92eebee90571fda9559320a9da08a8a8b
MD5 7d27f3201218fbd470fbe12e78d2b117
BLAKE2b-256 df135f3e1ff71fec0af4c310fc07d52ca188a62cff922474cff8794f43bf0c67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: soropy-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 40.5 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e35b87ca2b14144352c5a363979c7091de73b27eccc1b2287040b9cadadd9e45
MD5 a40c7063c20e3a38dadbd921fcfaca99
BLAKE2b-256 65c90be18b79442d441c365fd460f5997a6f4aa7dfcccac3ac38d1118625f49b

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