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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

soropy-1.0.5-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: soropy-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 40.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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c9e03052aec4f9ac4bb89401eebbd767e5b791bbbecc275d1b0e5b046efe1076
MD5 ad368b28e623b730858407454de7da46
BLAKE2b-256 2aa2747f279c71483f60e42cd2fd6c02cace272f477d3a2e6c6d32b6fd19ac1a

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