معرفی کتابخانه Rubka: کلاس Rubino

این کتابخانه یک ابزار غیررسمی برای تعامل با پلتفرم روبینو (بخشی از روبیکا) با استفاده از زبان پایتون است. با استفاده از این کتابخانه، شما می‌توانید ربات‌ها و اسکریپت‌هایی برای مدیریت پیج‌های روبینو، ارسال پست و استوری، مدیریت کامنت‌ها، تعامل با کاربران و بسیاری موارد دیگر بسازید.

نصب

برای نصب کتابخانه، ابتدا مطمئن شوید که پکیج‌های پیش‌نیاز نصب هستند. این کتابخانه از ماژول‌هایی مانند urllib3, pycryptodome, moviepy, و Pillow استفاده می‌کند. می‌توانید آن‌ها را با pip نصب کنید:

pip install urllib3 pycryptodome moviepy Pillow requests

سپس فایل کتابخانه را در پروژه خود قرار دهید.

احراز هویت (Authentication)

برای استفاده از این کتابخانه، به یک کلید احراز هویت (auth) نیاز دارید. این کلید، توکن شناسایی حساب شماست.

چگونه auth را به دست آوریم؟
1. وارد نسخه وب روبیکا شوید (m.rubika.ir).
2. ابزار توسعه‌دهندگان مرورگر خود را باز کنید (معمولاً با کلید F12).
3. به تب `Application` (در کروم) یا `Storage` (در فایرفاکس) بروید.
4. در بخش `Local Storage`، دامنه `m.rubika.ir` را پیدا کنید. مقدار کلید `auth` همان توکن شماست.

هشدار امنیتی: کلید auth شما مانند نام کاربری و رمز عبور شماست. آن را با هیچ‌کس به اشتراک نگذارید!

شروع سریع

در اینجا یک مثال ساده برای شروع کار با کتابخانه آورده شده است:


from rubka.rubino import Bot

# کلید احراز هویت خود را جایگزین کنید
auth_key = "bxyjxjadruoqimqscmbcmcgrkushwwcp" 
bot = Bot(auth_key)

# دریافت لیست پیج‌های من
my_pages = bot.get_all_profile()
print(my_pages)

# دریافت آخرین رویدادها (نوتیفیکیشن‌ها)
events = bot.get_New_Events()
print(events)
            

مرجع توابع (API)

create_page

یک پیج جدید در روبینو ایجاد می‌کند.

پارامترنوعتوضیحاتاجباری
usernamestrنام کاربری جدید برای پیج (بدون @).بله
namestrنام نمایشی پیج.خیر (پیش‌فرض: codern)
biostrبیوگرافی پیج.خیر

response = bot.create_page(username="my_new_test_page", name="صفحه آزمایشی من", bio="این یک پیج برای تست است.")
print(response)
            

edit_info_page

اطلاعات یک پیج موجود را ویرایش می‌کند.

پارامترنوعتوضیحاتاجباری
username_mestrنام کاربری پیجی که می‌خواهید ویرایش شود.بله
namestrنام نمایشی جدید.بله
biostrبیوگرافی جدید.خیر
phonestrشماره تلفن جدید.خیر
emailstrایمیل جدید.خیر
websitestrوب‌سایت جدید.خیر

response = bot.edit_info_page(
    username_me="my_new_test_page",
    name="صفحه ویرایش شده",
    bio="بیوگرافی آپدیت شد!"
)
print(response)
            

get_me_info

اطلاعات کامل یک پیج را بر اساس شناسه‌ی پروفایل (profile_id) دریافت می‌کند.

پارامترنوعتوضیحاتاجباری
profile_idstrشناسه منحصر به فرد پیج.بله

# ابتدا profile_id را از get_all_profile دریافت کنید
profile_id = "p0abcdef123456" 
info = bot.get_me_info(profile_id=profile_id)
print(info)
            

get_all_profile

لیست تمام پیج‌هایی که با حساب شما مدیریت می‌شوند را برمی‌گرداند.


pages = bot.get_all_profile()
for page in pages['profiles']:
    print(f"Username: {page['username']}, Profile ID: {page['profile_id']}")
            

upload_avatar

تصویر پروفایل (آواتار) یک پیج را تغییر می‌دهد.

پارامترنوعتوضیحاتاجباری
prof_filestrمسیر فایل تصویر روی سیستم شما.بله
profile_idstrشناسه پیجی که می‌خواهید آواتارش را تغییر دهید.خیر (اگر مشخص نشود برای پیج پیش‌فرض است)

response = bot.upload_avatar(prof_file="./images/avatar.jpg", profile_id="p0abcdef123456")
print(response)
            

delete_Page

یک پیج را برای همیشه حذف می‌کند. در استفاده از این تابع بسیار دقت کنید.

پارامترنوعتوضیحاتاجباری
page_profile_idstrشناسه پیجی که می‌خواهید حذف شود.بله

response = bot.delete_Page(page_profile_id="p0todelete123")
print(response)
            

add_Post

یک پست جدید (تصویر یا ویدیو) در پیج منتشر می‌کند. این تابع می‌تواند فایل را از سیستم شما یا از یک لینک مستقیم اینترنتی آپلود کند.

پارامترنوعتوضیحاتاجباری
post_filestrمسیر فایل یا لینک مستقیم فایل (عکس یا ویدیو).بله
captionstrکپشن پست.خیر
thumbnail_filestrمسیر یا لینک عکس برای کاور ویدیو. اگر مشخص نشود، از فریم اول ویدیو ساخته می‌شود.خیر
profile_idstrشناسه پیجی که پست در آن منتشر می‌شود.خیر
sizelist / strرزولوشن ویدیو. مثال: [720, 1280]. برای تشخیص خودکار "auto" را وارد کنید.خیر

# آپلود از سیستم
response1 = bot.add_Post(post_file="video.mp4", caption="یک ویدیوی زیبا #تست")
print(response1)

# آپلود از لینک
response2 = bot.add_Post(
    post_file="https://example.com/image.jpg", 
    caption="یک عکس از اینترنت",
    profile_id="p0abcdef123456"
)
print(response2)
            

add_Story

یک استوری جدید (تصویر یا ویدیو) در پیج منتشر می‌کند.

پارامترنوعتوضیحاتاجباری
post_filestrمسیر فایل یا لینک مستقیم فایل (عکس یا ویدیو).بله
thumbnail_filestrمسیر یا لینک عکس برای کاور ویدیو.خیر
profile_idstrشناسه پیجی که استوری در آن منتشر می‌شود.خیر

response = bot.add_Story(post_file="./stories/story.mp4", profile_id="p0abcdef123456")
print(response)
            

comment

برای یک پست کامنت ارسال می‌کند.

پارامترنوعتوضیحاتاجباری
textstrمتن کامنت.بله
post_idstrشناسه پست.بله
post_target_idstrشناسه پروفایل صاحب پست.بله
profile_idstrشناسه پیجی که با آن کامنت می‌گذارید.خیر

response = bot.comment(
    text="پست عالی بود!",
    post_id="post123456",
    post_target_id="p0owner123"
)
print(response)
            

request_Follow / un_Follow

برای دنبال کردن یا لغو دنبال کردن یک پیج استفاده می‌شود.

پارامترنوعتوضیحاتاجباری
followee_idstrشناسه پروفایل پیجی که می‌خواهید دنبال/آنفالو کنید.بله
profile_idstrشناسه پیجی که با آن فالو/آنفالو می‌کنید.خیر

# فالو کردن
follow_res = bot.request_Follow(followee_id="p0targetuser")
print(follow_res)

# آنفالو کردن
unfollow_res = bot.un_Follow(followee_id="p0targetuser")
print(unfollow_res)
            

search_Page

یک نام کاربری را در روبینو جستجو می‌کند.

پارامترنوعتوضیحاتاجباری
usernamestrنام کاربری مورد نظر برای جستجو.بله

results = bot.search_Page(username="rubika")
print(results)