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.3.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.3-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: soropy-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 fa112ad6a8690c71368b2fca89967652a60614f1a1d46c53d6082bc20a7568ed
MD5 c55352563f2d7e92a559888dfcc17625
BLAKE2b-256 c403099e5079136de093e3fe3ad6e90efe6040dd1fea4562e2e8e066e8418dac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: soropy-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ac0ca4b8f31f44866ee141fa70ff0a20ac3f545521ed0442d138e44f9270eb5
MD5 e74fa30d5e1edf8fd3c0e31aba798d51
BLAKE2b-256 f6030f3669ca44c94c840495da3f0044fd9d05f906941c2c01ad429dee0e3b2d

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