کتابخانه حرفهای سروش پلاس برای پایتون - Professional Soroush Plus Web Client Library
Project description
SoroPy 🚀
حرفهایترین کتابخانه پایتون برای سروش پلاس
✨ امکانات
| قابلیت | توضیح |
|---|---|
| 🔐 لاگین خودکار | ورود با شماره + کد تأیید، ذخیره سشن |
| 💬 استخراج چتها | لیست همه / شخصی / گروه / کانال |
| 📨 ارسال پیام | تکی و دستهای به چتهای شخصی |
| 📢 ارسال در کانال | پست گذاشتن (نیاز به ادمین بودن) |
| 📇 مدیریت مخاطبین | مشاهده، اضافه کردن، جستجو |
| 🤖 پاسخ خودکار | موتور قوانین + جلوگیری از پاسخ تکراری |
| 👁️ مانیتور مداوم | بررسی و پاسخ خودکار هر 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 - آزاد برای استفاده شخصی و تجاری
📬 ارتباط با توسعهدهنده
🤝 مشارکت
نظرات، پیشنهادات و مشارکتهای شما استقبال میشود!
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
soropy-1.0.5-py3-none-any.whl
(40.9 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9e03052aec4f9ac4bb89401eebbd767e5b791bbbecc275d1b0e5b046efe1076
|
|
| MD5 |
ad368b28e623b730858407454de7da46
|
|
| BLAKE2b-256 |
2aa2747f279c71483f60e42cd2fd6c02cace272f477d3a2e6c6d32b6fd19ac1a
|