کانالها
check_channel_username
این متد برای بررسی وضعیت یک نامکاربری به کار میرود. با استفاده از آن میتوان تعیین کرد که نامکاربری مورد نظر آزاد است یا پیشتر ثبت شده است.
پارامتر:
- username: نامکاربری مورد نظر برای بررسی.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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 داده شود، بندانگشتی از همان تصویر گرفته میشود. اگر هیچکدام داده نشود، آواتاری تنظیم نمیشود.
مثال:
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 را در کنسول وارد نمایید.
مثال:
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(غیرفعالسازی همه)، یا لیستی از اعداد (فعالسازی ریاکشنهای خاص).
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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: عنوان جدید کانال.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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) ادمین مورد نظر.
نکات:
- تفاوتی ندارد که نامکاربری با
@نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد. - تنها در صورتی میتوانید دسترسیهای یک ادمین را مشاهده کنید که شما او را ادمین کرده باشید یا مالک کانال باشید؛ در غیر این صورت با خطا مواجه خواهید شد.
مثال:
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)
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
from maxrubika import Messenger
with Messenger("mySession") as app:
action = app.get_channel_admins("CodeYaran")
print(action)
get_channel_info
این متد برای دریافت اطلاعات یک کانال به کار میرود.
پارامتر:
- channel: لینک، نامکاربری یا شناسه (GUID) کانال هدف.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
from maxrubika import Messenger
with Messenger("mySession") as app:
action = app.get_channel_info("MEH2RAB")
print(action)
get_channel_link
این متد برای دریافت لینک خصوصی یک کانال به کار میرود.
پارامتر:
- channel: لینک، نامکاربری یا شناسه (GUID) کانال هدف.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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)
نکات:
- تفاوتی ندارد که نامکاربری با
@نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد. - به دلیل محدودیتهای سرور روبیکا، این متد فقط 100 عضو آخر را نمایش میدهد.
مثالها:
نمایش اعضای کانال:
from maxrubika import Messenger
with Messenger("mySession") as app:
action = app.get_channel_members("c0G3R19035f77574adc0127ab97c999c")
print(action)
جستجوی یک کاربر خاص:
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
مثال:
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 برای کدگذاری اطلاعات استفاده میکنند.
مثال:
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) پیام پایانی بازه.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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) کانال هدف.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
from maxrubika import Messenger
with Messenger("mySession") as app:
stats = app.get_channel_statistics("CodeYaran")
print(stats)
join_channel
این متد برای عضویت در یک کانال به کار میرود.
پارامتر:
- channel: لینک، نامکاربری یا شناسه (GUID) کانال هدف.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
from maxrubika import Messenger
with Messenger("mySession") as app:
result = app.join_channel("@TheComputeriha")
print(result)
leave_channel
این متد برای خروج از یک کانال به کار میرود.
پارامتر:
- channel: لینک، نامکاربری یا شناسه (GUID) کانال هدف.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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) پیام پایانی بازه.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
from maxrubika import Messenger
with Messenger("mySession") as app:
result = app.seen_channel_messages("@PythonChannel", 11231014101, 52415414554)
print(result)
set_channel_link
این متد برای تنظیم لینک خصوصی یک کانال به کار میرود.
پارامتر:
- channel: لینک، نامکاربری یا شناسه (GUID) کانال هدف.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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.
نکته: تفاوتی ندارد که نامکاربری با @ نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد.
مثال:
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: نامکاربری جدید. (حداقل ۷ و حداکثر ۳۲ کاراکتر، فقط حروف انگلیسی، اعداد و زیرخط)
نکات:
- تفاوتی ندارد که نامکاربری با
@نوشته شود یا بدون آن؛ کتابخانه هر دو حالت را میپذیرد. - نامکاربری نمیتواند با عدد یا زیرخط شروع شود یا به زیرخط ختم شود و باید حداقل شامل یک حرف باشد.
- اگر
usernameرشته خالی باشد، نامکاربری کانال حذف میشود.
مثال:
from maxrubika import Messenger
with Messenger("mySession") as app:
result = app.update_channel_username("TheProgrammer", username="TheProgrammer2")
print(result)