Skip to content

کانال‌ها


check_channel_username

این متد برای بررسی وضعیت یک نام‌کاربری به کار می‌رود. با استفاده از آن می‌توان تعیین کرد که نام‌کاربری مورد نظر آزاد است یا پیش‌تر ثبت شده است.

پارامتر:

  • username: نام‌کاربری مورد نظر برای بررسی.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    check = app.check_channel_username("@Undefined")
    print(check)

create_channel

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

پارامترها:

  • title: عنوان کانال. (حداکثر ۶۰ کاراکتر، نمی‌تواند خالی باشد)
  • members: لیست اعضای اولیه کانال. نام‌کاربری و GUID هر دو قابل قبول هستند. فقط کاربران (u0) و بات‌ها (b0) مجاز هستند. (پیش‌فرض: None)
  • channel_type: نوع کانال. مقادیر قابل قبول: Public یا Private. (پیش‌فرض: Public)
  • description: متن بیوگرافی کانال. (حداکثر ۳۰۰ کاراکتر، پیش‌فرض: None)
  • avatar: تصویر آواتار کانال. مسیر فایل، رشته یا bytes. (پیش‌فرض: None)
  • thumbnail_avatar: تصویر بندانگشتی آواتار کانال. مسیر فایل، رشته یا bytes. (پیش‌فرض: None)

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

نکته: اگر فقط avatar داده شود، بندانگشتی از همان تصویر گرفته می‌شود. اگر هیچ‌کدام داده نشود، آواتاری تنظیم نمی‌شود.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.create_channel(
        title="کانال تست",
        members=["Online_User", "@ShowInfoBot", "@Cipher", "ir_maxware", "u0HryBf03dbfba68374497983bc850a0"],
        channel_type="Public",
        description="این یک کانال تست است.",
        avatar="avatar.jpg"
    )
    print(action)

delete_channel

این متد برای حذف یک کانال به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • confirm: در صورت True بودن، قبل از حذف از کاربر تأیید گرفته می‌شود (y/n). در صورت False بودن، بدون پرسش حذف می‌شود. (پیش‌فرض: True)

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

توجه: در حالت confirm=True، برای تکمیل عملیات حذف باید حرف y را در کنسول وارد نمایید.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.delete_channel("c0CyVlK0cae995e5b46031170a358a4e")
    print(action)

    # حذف بدون تأیید
    action = app.delete_channel("c0CyVlK0cae995e5b46031170a358a4e", confirm=False)
    print(action)

edit_channel_info

این متد برای ویرایش تنظیمات یک کانال به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • title: عنوان جدید کانال. (حداکثر ۶۰ کاراکتر، نمی‌تواند خالی باشد)
  • description: بیوگرافی جدید کانال. (حداکثر ۳۰۰ کاراکتر)
  • username: نام‌کاربری جدید کانال. (حداقل ۷ و حداکثر ۳۲ کاراکتر)
  • channel_type: نوع کانال (Public یا Private).
  • sign_messages: تعیین می‌کند که نام نویسندگان زیر پیام‌های کانال نمایش داده شود یا خیر.
  • is_restricted_content: تعیین می‌کند که امکان اسکرین‌شات یا ذخیره محتوای کانال برای اعضا محدود شود یا خیر.
  • reactions: تنظیمات ری‌اکشن. مقادیر قابل قبول: All (فعال‌سازی همه)، Disable (غیرفعال‌سازی همه)، یا لیستی از اعداد (فعال‌سازی ری‌اکشن‌های خاص).

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.edit_channel_info(
        channel="https://rubika.ir/joinc/JGDJDBDJ0SRHELBQEBMZQFTPTKWSHDSD",
        title="کانال من",
        username="infoChannel1234",
        channel_type="Public",
        description="درباره‌ی من.",
        reactions=[1, 2, 3, 5, 7, 9, 12, 20],
        sign_messages=True
    )
    print(action)

edit_channel_title

این متد برای ویرایش عنوان یک کانال به کار می‌رود. این متد میانبری برای edit_channel_info با پارامتر title است.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • title: عنوان جدید کانال.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.edit_channel_title("@TheProgrammer", "new title")
    print(action)

get_channel_admin_access

این متد برای دریافت سطح دسترسی‌های یک ادمین در کانال هدف به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • admin: نام‌کاربری یا شناسه (GUID) ادمین مورد نظر.

نکات:

  1. تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.
  2. تنها در صورتی می‌توانید دسترسی‌های یک ادمین را مشاهده کنید که شما او را ادمین کرده باشید یا مالک کانال باشید؛ در غیر این صورت با خطا مواجه خواهید شد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.get_channel_admin_access("@TheProgrammer", "@Online_User")
    print(action)

get_channel_admins

این متد برای دریافت فهرست کامل ادمین‌های یک کانال به کار می‌رود. این متد به صورت خودکار تمام صفحات را پیمایش می‌کند و همه ادمین‌ها را بازمی‌گرداند.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • show_admin_guids: در صورت True بودن، شناسه (GUID) ادمین‌ها نیز به صورت جداگانه در خروجی نمایش داده می‌شود. (پیش‌فرض: False)

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.get_channel_admins("CodeYaran")
    print(action)

get_channel_info

این متد برای دریافت اطلاعات یک کانال به کار می‌رود.

پارامتر:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.get_channel_info("MEH2RAB")
    print(action)

این متد برای دریافت لینک خصوصی یک کانال به کار می‌رود.

پارامتر:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.get_channel_link("c0G3R19035f77574adc0127ab97c999c")
    print(action)

get_channel_members

این متد برای دریافت فهرست اعضای یک کانال به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • search_text: عبارت مورد نظر برای جستجو در میان اعضا، مانند نام‌کاربری. (پیش‌فرض: None)
  • start_id: شناسه شروع برای دریافت صفحه‌بندی‌شده اعضا. (پیش‌فرض: None)

نکات:

  1. تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.
  2. به دلیل محدودیت‌های سرور روبیکا، این متد فقط 100 عضو آخر را نمایش می‌دهد.

مثال‌ها:

نمایش اعضای کانال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.get_channel_members("c0G3R19035f77574adc0127ab97c999c")
    print(action)

جستجوی یک کاربر خاص:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    action = app.get_channel_members("PythonChannel", search_text="@ir_MAXWare")
    print(action)

get_channel_post_by_link

این متد برای دریافت اطلاعات یک پیام کانال از طریق لینک آن پیام به کار می‌رود. خروجی شامل اطلاعات کانال، متن پیام و زمان ارسال است.

پارامتر:

  • url: لینک پیام کانال.

نکته: فرمت معتبر لینک پیام کانال به صورت زیر است: https://rubika.ir/RubiFAQ/BICEGHDGFBGJHCCD

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    info = app.get_channel_post_by_link("https://rubika.ir/RubiFAQ/BICEGHDGFBGJHCCD")
    print(info)

get_post_by_ask_link

این متد برای دریافت اطلاعات یک پیام کانال از طریق لینک‌های go.rubika.ir (لینک‌های Ask) به کار می‌رود.

پارامتر:

  • url: لینک go.rubika.ir.

نکته: این لینک‌ها معمولاً به شکل https://go.rubika.ir/...*... هستند و از base64 برای کدگذاری اطلاعات استفاده می‌کنند.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    info = app.get_post_by_ask_link("https://go.rubika.ir/...*...")
    print(info)

get_channel_seen_count

این متد برای دریافت آمار بازدید بازه‌ای از پیام‌های یک کانال به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • min_id: شناسه (message_id) پیام آغازین بازه.
  • max_id: شناسه (message_id) پیام پایانی بازه.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.get_channel_seen_count("CodeYaran", 157896351047, 189720063713)
    print(result)

get_channel_statistics

این متد برای دریافت تمام آمارهای یک کانال به کار می‌رود.

پارامتر:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    stats = app.get_channel_statistics("CodeYaran")
    print(stats)

join_channel

این متد برای عضویت در یک کانال به کار می‌رود.

پارامتر:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.join_channel("@TheComputeriha")
    print(result)

leave_channel

این متد برای خروج از یک کانال به کار می‌رود.

پارامتر:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.leave_channel("@Rubika")
    print(result)

seen_channel_messages

این متد برای علامت‌گذاری بازه‌ای از پیام‌های یک کانال به عنوان دیده‌شده به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • min_id: شناسه (message_id) پیام آغازین بازه.
  • max_id: شناسه (message_id) پیام پایانی بازه.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.seen_channel_messages("@PythonChannel", 11231014101, 52415414554)
    print(result)

این متد برای تنظیم لینک خصوصی یک کانال به کار می‌رود.

پارامتر:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.set_channel_link("@PC_and_Mobile")
    print(result)

set_channel_type

این متد برای تغییر نوع کانال (عمومی یا خصوصی) به کار می‌رود. این متد میانبری برای edit_channel_info با پارامتر channel_type است.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • channel_type: نوع کانال. مقادیر قابل قبول: Public یا Private.

نکته: تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.set_channel_type("@Undefined", channel_type="Private")
    print(result)

update_channel_username

این متد برای به‌روزرسانی نام‌کاربری یک کانال به کار می‌رود.

پارامترها:

  • channel: لینک، نام‌کاربری یا شناسه (GUID) کانال هدف.
  • username: نام‌کاربری جدید. (حداقل ۷ و حداکثر ۳۲ کاراکتر، فقط حروف انگلیسی، اعداد و زیرخط)

نکات:

  1. تفاوتی ندارد که نام‌کاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را می‌پذیرد.
  2. نام‌کاربری نمی‌تواند با عدد یا زیرخط شروع شود یا به زیرخط ختم شود و باید حداقل شامل یک حرف باشد.
  3. اگر username رشته خالی باشد، نام‌کاربری کانال حذف می‌شود.

مثال:

Python
from maxrubika import Messenger

with Messenger("mySession") as app:
    result = app.update_channel_username("TheProgrammer", username="TheProgrammer2")
    print(result)