ساختارهای داده و اشیاء (Data Types)
در این بخش مشخصات تمام اشیاء JSON و ساختارهای دادهای که در ورودی و خروجی متدهای CodeMeet Bot API استفاده میشوند، گردآوری شده است.
۱. شیء کاربر (User)
نمایانگر مشخصات یک کاربر یا حساب ربات در کدمیت:
| فیلد |
نوع |
توضیحات |
id |
String (UUID) |
شناسه منحصربهفرد کاربر. |
is_bot |
Boolean |
آیا این کاربر یک حساب ربات است (true) یا کاربر عادی (false). |
first_name |
String |
نام یا نام نمایشی کاربر/ربات. |
username |
String اختیاری |
نام کاربری یکتا (بدون علامت @). |
{
"id": "c1f72b9a-1122-3344-5566-778899aabbcc",
"is_bot": false,
"first_name": "سارا",
"username": "sara_dev"
}
۲. شیء گفتگو (Chat)
نمایانگر یک چت دونفره مستقیم (private)، گروه (group) یا کانال (channel):
| فیلد |
نوع |
توضیحات |
id |
String (UUID) |
شناسه یکتای گفتگو. |
type |
String |
نوع گفتگو: "private", "group", "channel". |
title |
String اختیاری |
عنوان گروه یا کانال (برای چتهای دونفره خالی است). |
username |
String اختیاری |
نام کاربری عمومی گروه یا کانال. |
description |
String اختیاری |
بیوگرافی و توضیحات گفتگو. |
۳. شیء پیام (Message)
| فیلد |
نوع |
توضیحات |
message_id |
Integer |
شماره توالی پیام در گفتگو. |
date |
Integer |
برچسب زمان ارسال پیام بر حسب ثانیه Unix Timestamp. |
chat |
Chat |
شیء چت حاوی پیام. |
from |
User اختیاری |
فرستنده پیام. |
text |
String اختیاری |
متن پیامهای متنی. |
caption |
String اختیاری |
متن کپشن فایلها و تصاویر ارسالی. |
entities |
Array of MessageEntity اختیاری |
لیست موجودیتهای قالببندیشده درون متن. |
reply_to_message |
Message اختیاری |
پیامی که این پیام به آن ریپلای زده است. |
reply_markup |
InlineKeyboardMarkup اختیاری |
کیبورد شیشهای متصل به پیام. |
۴. شیء موجودیتهای متن (MessageEntity)
برای استایلدهی و قالببندی بخشهایی از متن پیام:
| فیلد |
نوع |
توضیحات |
type |
String |
نوع استایل: "bold", "italic", "underline", "strikethrough", "spoiler", "code", "pre", "text_link", "mention", "hashtag", "bot_command". |
offset |
Integer |
آفست شروع بر حسب کاراکتر UTF-16. |
length |
Integer |
طول بخش بر حسب کاراکتر UTF-16. |
url |
String اختیاری |
آدرس لینک برای موجودیتهای نوع text_link. |
۵. شیء آپدیت (Update)
پکیج تحویل رویدادهای دریافتی از طریق Polling یا Webhook:
| فیلد |
نوع |
توضیحات |
update_id |
Integer |
شناسه یکتای ترتیبی آپدیت. |
message |
Message اختیاری |
پیام جدید دریافتی. |
callback_query |
CallbackQuery اختیاری |
کلیک کاربر روی دکمه شیشهای. |
۶. شیء کلیک دکمه (CallbackQuery)
| فیلد |
نوع |
توضیحات |
id |
String |
شناسه منحصربهفرد کلیک. |
from |
User |
کاربری که روی دکمه کلیک کرده است. |
message |
Message اختیاری |
پیامی که دکمه روی آن قرار داشته است. |
data |
String |
رشته داده callback_data متصل به دکمه کلیکشده. |