Rubka | مستندات مدل‌ها (Models)

مدل‌ها (Models)

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

Chat

مدل Chat نمایانگر اطلاعات پایه‌ای یک چت در روبیکا است. یک چت می‌تواند مکالمه‌ی خصوصی با کاربر، گفت‌وگوی گروهی یا کانال باشد.

فیلدنوعتوضیحات
chat_idstrشناسه چت
chat_typeChatTypeEnumنوع چت (کاربر، گروه، کانال و …)
user_idstr | Noneشناسه کاربر مقابل بات در چت‌های خصوصی
first_namestr | Noneنام کاربر (فقط در چت‌های خصوصی)
last_namestr | Noneنام خانوادگی کاربر
titlestr | Noneعنوان گروه یا کانال
usernamestr | Noneنام کاربری چت یا کاربر (در صورت تنظیم شدن)

File

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

فیلدنوعتوضیحات
file_idstrشناسه فایل
file_namestrنام فایل
sizestrحجم فایل (بر حسب بایت)

ForwardedFrom

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

فیلدنوعتوضیحات
type_fromForwardedFromEnumنوع منبع فوروارد (کاربر، کانال یا بات)
message_idstrشناسه پیام اصلی که فوروارد شده
from_chat_idstrشناسه چت مبدا
from_sender_idstrشناسه کاربری ارسال‌کننده اصلی

MessageTextUpdate

تغییرات متنی پیام‌ها را نمایش می‌دهد که در نتیجه تعامل کاربر با Inline Keypad رخ داده است.

فیلدنوعتوضیحات
message_idstrشناسه پیام که متن آن تغییر کرده است
textstrمتن جدید پیام پس از به‌روزرسانی

Bot

عمومی یک بات روبیکا است که توسط متدهایی مانند getMe بازگردانده می‌شود.

فیلدنوعتوضیحات
bot_idstrشناسه یکتا بات
bot_titlestrعنوان نمایش‌داده‌شده در پروفایل بات
avatarFile | Noneتصویر پروفایل بات
descriptionstrتوضیحات بات
usernamestrنام‌کاربری بات
start_messagestrپیام خوش‌آمدگویی بات
share_urlstrلینک اشتراک‌گذاری بات

BotCommand

برای تعریف دستورهای (Commands) قابل استفاده در بات به‌کار می‌رود.

فیلدنوعتوضیحات
commandstrنام دستور بدون / (مثلاً start)
descriptionstrتوضیح کوتاه درباره عملکرد دستور

Sticker

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

فیلدنوعتوضیحات
sticker_idstrشناسه استیکر
fileFileاطلاعات فایل استیکر
emoji_characterstrاموجی مرتبط با استیکر

ContactMessage

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

فیلدنوعتوضیحات
phone_numberstrشماره تلفن ارسال‌شده
first_namestrنام شخص صاحب شماره
last_namestr | Noneنام خانوادگی شخص (در صورت موجود)

PollStatus

نشان‌دهنده‌ی وضعیت فعلی یک نظرسنجی (Poll) است.

فیلدنوعتوضیحات
statePollStatusEnumوضعیت فعلی نظرسنجی
selection_indexintشماره گزینه انتخاب‌شده (در صورت عدم انتخاب -1)
percent_vote_optionslist[int]درصد رأی‌های هر گزینه
total_voteintتعداد کل آراء نظرسنجی
show_total_votesboolآیا تعداد آرا نمایش داده شود

Poll

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

فیلدنوعتوضیحات
questionstrمتن سؤال نظرسنجی
optionslist[str]آرایه‌ای از گزینه‌های قابل رأی‌دهی
poll_statusPollStatusوضعیت جاری نظرسنجی

Location

نمایانگر مختصات جغرافیایی (GIS) است.

فیلدنوعتوضیحات
longitudestrطول جغرافیایی
latitudestrعرض جغرافیایی

ButtonSelectionItem

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

فیلدنوعتوضیحات
textstrمتن دکمه
image_urlstr | Noneآدرس تصویر مرتبط با گزینه
typeButtonSelectionTypeEnumنوع نمایش دکمه

Button

نمایانگر یک دکمه تعاملی در رابط کاربری پیام یا صفحه‌کلید بات است.

فیلدنوعتوضیحات
idstrشناسه دکمه
typeButtonTypeEnumنوع دکمه
button_textstrمتن نمایش‌داده‌شده روی دکمه

Keypad

مجموعه‌ای از ردیف‌های دکمه را تعریف می‌کند که می‌تواند در Keypad پیام نمایش داده شود.

فیلدنوعتوضیحات
rowslist[KeypadRow]آرایه‌ای از ردیف keypad ها
resize_keyboardboolتغییر اندازه و ارتفاع دکمه‌ها
one_time_keyboardboolبسته شدن خودکار کیبورد بعد از انتخاب

Message

نمایانگر اطلاعات یک پیام در روبیکا است.

فیلدنوعتوضیحات
message_idstrشناسه پیام
textstr | Noneمتن پیام (اگر پیام متنی باشد)
timeintزمان ارسال پیام به صورت timestamp
is_editedboolآیا پیام ویرایش شده است
sender_typeMessageSenderEnumنوع فرستنده پیام
sender_idstrشناسه فرستنده پیام
chat_idstrشناسه چت

Update

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

فیلدنوعتوضیحات
typeUpdateTypeEnumنوع رویداد آپدیت
chat_idstrشناسه چت مرتبط با رویداد
new_messageMessage | Noneپیام جدید (در صورت وجود)
updated_messageMessage | Noneپیام ویرایش‌شده (در صورت وجود)

InlineMessage

داده‌های مربوط به کلیک کاربر روی Inline Keypad را نمایش می‌دهد.

فیلدنوعتوضیحات
sender_idstrشناسه کاربری که کلیک کرده است
message_idstrشناسه پیام اصلی
chat_idstrشناسه چت مرتبط
aux_dataAuxData | Noneداده‌های کمکی مرتبط با کلیک دکمه

Metadata / MetadataPart

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

فیلدنوعتوضیحات
typeMetadataTypeEnumنوع متادیتا (Bold, Italic, Link, ...)
from_indexintاندیس شروع در متن (بر اساس UTF-16)
lengthintطول بخش مورد نظر
link_urlstr | Noneفقط در type=Link استفاده می‌شود
mention_text_user_idstr | Noneفقط در type=MentionText استفاده می‌شود

Enums (لیست مقادیر ثابت)

ChatTypeEnum

User Bot Group Channel

FileTypeEnum

File Image Voice Video Music Gif

ForwardedFromEnum

User Channel Bot

PollStatusEnum

Open Closed

MessageSenderEnum

User Bot

UpdateTypeEnum

UpdatedMessage NewMessage RemovedMessage StartedBot StoppedBot

MetadataTypeEnum

Bold Italic Mono Underline Strike Spoiler Link MentionText Pre Quote

ButtonTypeEnum

Simple Selection Calendar NumberPicker StringPicker Location CameraImage CameraVideo GalleryImage GalleryVideo File Audio RecordAudio Textbox Link AskMyPhoneNumber AskMyLocation Barcode