معرفی کتابخانه 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
یک پیج جدید در روبینو ایجاد میکند.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
username | str | نام کاربری جدید برای پیج (بدون @). | بله |
name | str | نام نمایشی پیج. | خیر (پیشفرض: codern) |
bio | str | بیوگرافی پیج. | خیر |
response = bot.create_page(username="my_new_test_page", name="صفحه آزمایشی من", bio="این یک پیج برای تست است.")
print(response)
edit_info_page
اطلاعات یک پیج موجود را ویرایش میکند.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
username_me | str | نام کاربری پیجی که میخواهید ویرایش شود. | بله |
name | str | نام نمایشی جدید. | بله |
bio | str | بیوگرافی جدید. | خیر |
phone | str | شماره تلفن جدید. | خیر |
email | str | ایمیل جدید. | خیر |
website | str | وبسایت جدید. | خیر |
response = bot.edit_info_page(
username_me="my_new_test_page",
name="صفحه ویرایش شده",
bio="بیوگرافی آپدیت شد!"
)
print(response)
get_me_info
اطلاعات کامل یک پیج را بر اساس شناسهی پروفایل (profile_id) دریافت میکند.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
profile_id | str | شناسه منحصر به فرد پیج. | بله |
# ابتدا 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_file | str | مسیر فایل تصویر روی سیستم شما. | بله |
profile_id | str | شناسه پیجی که میخواهید آواتارش را تغییر دهید. | خیر (اگر مشخص نشود برای پیج پیشفرض است) |
response = bot.upload_avatar(prof_file="./images/avatar.jpg", profile_id="p0abcdef123456")
print(response)
delete_Page
یک پیج را برای همیشه حذف میکند. در استفاده از این تابع بسیار دقت کنید.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
page_profile_id | str | شناسه پیجی که میخواهید حذف شود. | بله |
response = bot.delete_Page(page_profile_id="p0todelete123")
print(response)
add_Post
یک پست جدید (تصویر یا ویدیو) در پیج منتشر میکند. این تابع میتواند فایل را از سیستم شما یا از یک لینک مستقیم اینترنتی آپلود کند.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
post_file | str | مسیر فایل یا لینک مستقیم فایل (عکس یا ویدیو). | بله |
caption | str | کپشن پست. | خیر |
thumbnail_file | str | مسیر یا لینک عکس برای کاور ویدیو. اگر مشخص نشود، از فریم اول ویدیو ساخته میشود. | خیر |
profile_id | str | شناسه پیجی که پست در آن منتشر میشود. | خیر |
size | list / 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_file | str | مسیر فایل یا لینک مستقیم فایل (عکس یا ویدیو). | بله |
thumbnail_file | str | مسیر یا لینک عکس برای کاور ویدیو. | خیر |
profile_id | str | شناسه پیجی که استوری در آن منتشر میشود. | خیر |
response = bot.add_Story(post_file="./stories/story.mp4", profile_id="p0abcdef123456")
print(response)
comment
برای یک پست کامنت ارسال میکند.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
text | str | متن کامنت. | بله |
post_id | str | شناسه پست. | بله |
post_target_id | str | شناسه پروفایل صاحب پست. | بله |
profile_id | str | شناسه پیجی که با آن کامنت میگذارید. | خیر |
response = bot.comment(
text="پست عالی بود!",
post_id="post123456",
post_target_id="p0owner123"
)
print(response)
request_Follow / un_Follow
برای دنبال کردن یا لغو دنبال کردن یک پیج استفاده میشود.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
followee_id | str | شناسه پروفایل پیجی که میخواهید دنبال/آنفالو کنید. | بله |
profile_id | str | شناسه پیجی که با آن فالو/آنفالو میکنید. | خیر |
# فالو کردن
follow_res = bot.request_Follow(followee_id="p0targetuser")
print(follow_res)
# آنفالو کردن
unfollow_res = bot.un_Follow(followee_id="p0targetuser")
print(unfollow_res)
search_Page
یک نام کاربری را در روبینو جستجو میکند.
| پارامتر | نوع | توضیحات | اجباری |
|---|---|---|---|
username | str | نام کاربری مورد نظر برای جستجو. | بله |
results = bot.search_Page(username="rubika")
print(results)