ការអភិវឌ្ឍបូត
ឯកសារយោង Bot API
យើងបានរៀបរាប់ពេញលេញនូវ method ដែល HTTP Bot API របស់ Pabal ទទួល object ដែលផ្ញើទៅមក និងកំហុសនានា។ វាត្រូវគ្នាជាមួយ Telegram Bot API។
HTTP Bot API របស់ Pabal ប្រើទម្រង់អាសយដ្ឋាន សំណើ ការឆ្លើយតប និងកំហុស ដូចគ្នានឹង Telegram Bot API។ ឯកសារនេះកត់ត្រាតែអ្វីដែល Pabal ទទួលពិតប្រាកដប៉ុណ្ណោះ។ method ដែលមិនមាននៅទីនេះ នឹងឆ្លើយត្រឡប់ 404 Not Found: method not found។ បើអ្នកទើបចាប់ផ្តើម សូមអានមេរៀនបង្កើតបូតជាមុនសិន។
ការផ្ញើសំណើ
https://pabal.me/bot<តូខឹន>/<method>
- HTTP method៖ ទាំង
GETនិងPOSTប្រើបាន។ - វិធីបួនយ៉ាងដើម្បីផ្ញើប៉ារ៉ាម៉ែត្រ — query string (
?chat_id=1&text=hi),application/x-www-form-urlencoded,application/jsonនិងmultipart/form-dataពេលបង្ហោះឯកសារ។ អាចប្រើលាយគ្នាបាន។ - ប៉ារ៉ាម៉ែត្រជា object (
reply_markup,commands,allowed_updates) ដាក់ជា object ឬ array ដូចដើម ក្នុងតួ JSON ហើយដាក់ជាខ្សែអក្សរ JSON ក្នុង form ឬ query។ - ឈ្មោះ method មិនប្រកាន់អក្សរធំតូចទេ (
sendMessage=sendmessage)។ - ទំហំតួរហូតដល់ 12MB (បើលើស
413)។ - ការទាញយកឯកសារ ប្រើអាសយដ្ឋានដាច់ដោយឡែក
https://pabal.me/file/bot<តូខឹន>/<file_path>(getFile)។
ការឆ្លើយតប និងកំហុស
ការឆ្លើយតបជា JSON ជានិច្ច។ បើជោគជ័យ អ្នកទទួលបាន HTTP 200 និង result ហើយបើបរាជ័យ អ្នកទទួលបាន error_code ដែលដូចនឹងស្ថានភាព HTTP និង description សម្រាប់មនុស្សអាន។
{"ok": true, "result": { … }}{"ok": false, "error_code": 400, "description": "Bad Request: chat not found"}| error_code | ពេលណា | ឧទាហរណ៍ description |
|---|---|---|
400 | ប៉ារ៉ាម៉ែត្រខុស | Bad Request: chat not found, Bad Request: message text is empty, Bad Request: message is not modified: …, Bad Request: message to edit not found, Bad Request: wrong file identifier/HTTP URL specified, Bad Request: query is too old and response timeout expired or query ID is invalid |
401 | តូខឹនខុស | Unauthorized |
403 | គ្មានសិទ្ធិផ្ញើ | Forbidden: bot can't initiate conversation with a user, Forbidden: bot is not a member of the group chat |
404 | method ឬឯកសារដែលមិនមាន | Not Found: method not found |
409 | ហៅ getUpdates ពេលមាន webhook | Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first |
413 | តួលើស 12MB | Request Entity Too Large |
500 | កំហុសខាងក្នុងម៉ាស៊ីនមេ | Internal Server Error |
Pabal មិនទាន់មានការកំណត់ល្បឿនសំណើ (429 Too Many Requests) នៅឡើយទេ ប៉ុន្តែវាអាចមាននៅពេលអនាគត ដូច្នេះសូមសរសេរកូដឲ្យរង់ចាំរយៈពេល parameters.retry_after វិនាទី រួចផ្ញើម្តងទៀត ពេលទទួលបាន 429។
ការទទួល update
ប្រើវិធីមួយក្នុងចំណោមវិធីទាំងពីរ។ មិនអាចប្រើទាំងពីរក្នុងពេលតែមួយបានទេ។
getUpdates
POST/bot<តូខឹន>/getUpdates
ទាញយក update ដែលកំពុងរង់ចាំ (long polling)។ បើ webhook ត្រូវបានកំណត់ នឹងទទួលបាន 409។
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
offset | Integer | ស្រេចចិត្ត | តែ update ដែលមានលេខស្មើ ឬធំជាងលេខនេះ។ update ដែលតូចជាងនេះ ត្រូវបានលុបដោយចាត់ទុកថា "បានទទួលហើយ"។ សូមផ្តល់ update_id + 1 ចុងក្រោយដែលបានដំណើរការ។ |
limit | Integer | ស្រេចចិត្ត | 1 ដល់ 100 លំនាំដើម 100 |
timeout | Integer | ស្រេចចិត្ត | ចំនួនវិនាទីដែលត្រូវរង់ចាំ 0 ដល់ 50 លំនាំដើម 0។ យើងណែនាំ 25 ដល់ 30។ |
allowed_updates | Array of String | មិនអើពើ | ទទួល ប៉ុន្តែមិនប្រើ។ បើចង់ច្រោះតាមប្រភេទ សូមច្រោះក្រោយពេលទទួល។ |
តម្លៃត្រឡប់៖ Array of Update
setWebhook
POST/bot<តូខឹន>/setWebhook
ទទួល update តាមអាសយដ្ឋាន HTTPS។ ការពន្យល់លម្អិតមាននៅក្នុងឯកសារ Webhook។
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
url | String | ចាំបាច់ | អាសយដ្ឋានសាធារណៈ https://។ បើជាខ្សែអក្សរទទេ លុប webhook |
secret_token | String | ស្រេចចិត្ត | 1 ដល់ 256 តួ A-Z a-z 0-9 _ -។ ផ្ញើក្នុង header សំណើ X-Telegram-Bot-Api-Secret-Token |
allowed_updates | Array of String | ស្រេចចិត្ត | ជ្រើសពី message, edited_message, callback_query។ បើទុកទទេ ទទួលទាំងអស់ |
drop_pending_updates | Boolean | ស្រេចចិត្ត | បោះចោល update ដែលកំពុងរង់ចាំ |
max_connections | Integer | ស្រេចចិត្ត | 1 ដល់ 100 លំនាំដើម 40។ គ្រាន់តែរក្សាទុក ការបញ្ជូនគឺម្តងមួយសម្រាប់បូតនីមួយៗ |
certificate | InputFile | មិនគាំទ្រ | 400 — សូមប្រើវិញ្ញាបនបត្រសាធារណៈ |
ip_address | String | មិនអើពើ |
តម្លៃត្រឡប់៖ True
deleteWebhook
POST/bot<តូខឹន>/deleteWebhook
លុប webhook ហើយត្រឡប់ទៅ getUpdates វិញ។ ទោះគ្មាន webhook ក៏ជោគជ័យដែរ។
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
drop_pending_updates | Boolean | ស្រេចចិត្ត | បោះចោល update ដែលកំពុងរង់ចាំ |
តម្លៃត្រឡប់៖ True
getWebhookInfo
GET/bot<តូខឹន>/getWebhookInfo
ស្ថានភាព webhook។ គ្មានប៉ារ៉ាម៉ែត្រ។ បើគ្មាន webhook url ជាខ្សែអក្សរទទេ។
តម្លៃត្រឡប់៖ WebhookInfo
Method
| Method | អ្វីដែលវាធ្វើ |
|---|---|
getMe | ព័ត៌មានរបស់បូតខ្លួនឯង |
sendMessage | ផ្ញើអត្ថបទ (រួមទាំងប៊ូតុង) |
sendPhoto | ផ្ញើរូបថត |
editMessageText | កែអត្ថបទ និងប៊ូតុងនៃសារដែលបានផ្ញើ |
editMessageCaption | កែការពិពណ៌នារូបថត |
editMessageReplyMarkup | កែតែប៊ូតុង |
deleteMessage | លុបសារ |
answerCallbackQuery | ឆ្លើយតបការចុចប៊ូតុង |
sendChatAction | បង្ហាញ "កំពុងវាយ" (គ្រាន់តែទទួល) |
getChat | ព័ត៌មានការសន្ទនា |
getFile | ផ្លូវទាញយករូបថតដែលបានទទួល |
setMyCommands · getMyCommands · deleteMyCommands | ម៉ឺនុយពាក្យបញ្ជា |
logOut · close | សម្រាប់ភាពត្រូវគ្នា (មិនធ្វើអ្វីទេ) |
getUpdates · setWebhook · deleteWebhook · getWebhookInfo | ការទទួល update (ខាងលើ) |
chat_id
ID របស់មនុស្ស (លេខវិជ្ជមាន) សម្រាប់ការសន្ទនា 1:1 ID ក្រុម (លេខអវិជ្ជមាន) សម្រាប់ក្រុមមូលដ្ឋាន ឬឈ្មោះអ្នកប្រើរបស់មនុស្ស ("@hana_lee")។ អ្នកអាចដឹងតម្លៃទាំងអស់នេះពី chat.id នៃ update។ ID ឆានែល និង supergroup (-100…) មិនទាន់មានទេ (400 chat not found)។
getMe
GET/bot<តូខឹន>/getMe
ប្រើដើម្បីពិនិត្យថាតូខឹនត្រឹមត្រូវឬអត់។ គ្មានប៉ារ៉ាម៉ែត្រ។
តម្លៃត្រឡប់៖ User — សម្រាប់បូត មានបន្ថែម can_join_groups (true), can_read_all_group_messages (true), supports_inline_queries (false), can_connect_to_business (false), has_main_web_app (false)។
sendMessage
POST/bot<តូខឹន>/sendMessage
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
chat_id | Integer ឬ String | ចាំបាច់ | ការសន្ទនាដែលត្រូវផ្ញើទៅ (មើលប្រអប់ខាងលើ) |
text | String | ចាំបាច់ | 1 ដល់ 4,096 តួ។ ផ្ញើជាអក្សរដូចដើម |
reply_markup | InlineKeyboardMarkup · ReplyKeyboardMarkup · ReplyKeyboardRemove · ForceReply | ស្រេចចិត្ត | ប៊ូតុង |
disable_notification | Boolean | ស្រេចចិត្ត | ផ្ញើដោយគ្មានសំឡេង |
parse_mode, entities, reply_parameters, link_preview_options … | មិនអើពើ | ទទួល ប៉ុន្តែមិនប្រើ។ ទម្រង់អត្ថបទមិនត្រូវបានអនុវត្តទេ |
តម្លៃត្រឡប់៖ Message ដែលបានផ្ញើ
ដើម្បីផ្ញើទៅមនុស្សម្នាក់ មនុស្សនោះត្រូវតែធ្លាប់ផ្ញើសារទៅបូតមុន (403 Forbidden: bot can't initiate conversation with a user)។ ដើម្បីផ្ញើទៅក្រុម បូតត្រូវតែជាសមាជិកនៃក្រុមនោះ។
sendPhoto
POST/bot<តូខឹន>/sendPhoto
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
chat_id | Integer ឬ String | ចាំបាច់ | ការសន្ទនាដែលត្រូវផ្ញើទៅ |
photo | InputFile ឬ String | ចាំបាច់ | ឯកសារដែលបង្ហោះដោយ multipart/form-data (រហូតដល់ 10MB, JPEG · PNG · GIF) ឬ file_id នៃរូបថតដែលបានទទួលពីមុន។ URL មិនទាន់ប្រើបានទេ |
caption | String | ស្រេចចិត្ត | 0 ដល់ 1,024 តួ |
reply_markup | ដូច sendMessage | ស្រេចចិត្ត | |
disable_notification | Boolean | ស្រេចចិត្ត |
តម្លៃត្រឡប់៖ Message ដែលបានផ្ញើ (មាន file_id ថ្មីក្នុង photo)
editMessageText
POST/bot<តូខឹន>/editMessageText
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
chat_id | Integer ឬ String | ចាំបាច់ | ការសន្ទនាដែលមានសារនោះ |
message_id | Integer | ចាំបាច់ | សារដែលត្រូវកែ (សារដែលបូតបានផ្ញើ) |
text | String | ចាំបាច់ | អត្ថបទថ្មី 1 ដល់ 4,096 តួ |
reply_markup | InlineKeyboardMarkup | ស្រេចចិត្ត | ប៊ូតុងថ្មី។ បើមិនដាក់ ប៊ូតុងនឹងបាត់ (ដូច Telegram) |
inline_message_id | String | មិនគាំទ្រ | គ្មានរបៀប inline ដូច្នេះ 400 |
តម្លៃត្រឡប់៖ Message ដែលបានកែ។ ការកែបង្ហាញក្នុងកម្មវិធីភ្លាមៗ ហើយសារដែលមនុស្សកែ មកដល់បូតជា edited_message។
បើអត្ថបទ និងប៊ូតុងដូចមុនទាំងស្រុង អ្នកនឹងទទួលបាន 400 Bad Request: message is not modified: … ហើយបើព្យាយាមកែសាររបស់អ្នកដទៃ នឹងទទួលបាន 400 Bad Request: message can't be edited។
editMessageCaption
POST/bot<តូខឹន>/editMessageCaption
ប៉ារ៉ាម៉ែត្រគឺ chat_id, message_id, caption (0 ដល់ 1,024 តួ បើមិនដាក់ ការពិពណ៌នានឹងត្រូវលុប) និង reply_markup។ តម្លៃត្រឡប់៖ Message ដែលបានកែ។
editMessageReplyMarkup
POST/bot<តូខឹន>/editMessageReplyMarkup
ទុកអត្ថបទដដែល ហើយប្តូរតែប៊ូតុង។ ប៉ារ៉ាម៉ែត្រគឺ chat_id, message_id និង reply_markup (បើមិនដាក់ ប៊ូតុងនឹងត្រូវលុប)។ តម្លៃត្រឡប់៖ Message ដែលបានកែ។
deleteMessage
POST/bot<តូខឹន>/deleteMessage
ប៉ារ៉ាម៉ែត្រគឺ chat_id និង message_id។ លុបសារពីភាគីទាំងពីរនៃការសន្ទនា។ បើសារមិនមាន 400 Bad Request: message to delete not found។ តម្លៃត្រឡប់៖ True។
answerCallbackQuery
POST/bot<តូខឹន>/answerCallbackQuery
ឆ្លើយតបប៊ូតុងដែលមនុស្សបានចុច (CallbackQuery)។ អាចឆ្លើយបានក្នុងរយៈពេល 10 វិនាទី និងតែម្តងប៉ុណ្ណោះ។
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
callback_query_id | String | ចាំបាច់ | callback_query.id នៃ update |
text | String | ស្រេចចិត្ត | អត្ថបទដែលលេចឡើងមួយភ្លែតនៅលើអេក្រង់ |
show_alert | Boolean | ស្រេចចិត្ត | បើ true បង្ហាញជាប្រអប់ដែលមានប៊ូតុងយល់ព្រម |
url | String | ស្រេចចិត្ត | អាសយដ្ឋានដែលកម្មវិធីនឹងបើក |
cache_time | Integer | ស្រេចចិត្ត | ចំនួនវិនាទីដែលកម្មវិធីចងចាំចម្លើយនេះ |
តម្លៃត្រឡប់៖ True។ បើយឺតពេក ឬបានឆ្លើយរួចហើយ 400 Bad Request: query is too old and response timeout expired or query ID is invalid។
sendChatAction
POST/bot<តូខឹន>/sendChatAction
ទទួលដើម្បីភាពត្រូវគ្នា ហើយឆ្លើយត្រឡប់ True ប៉ុន្តែមិនទាន់បង្ហាញ "កំពុងវាយ…" ក្នុងកម្មវិធីនៅឡើយទេ។
getChat
GET/bot<តូខឹន>/getChat?chat_id=…
ប៉ារ៉ាម៉ែត្រគឺ chat_id (លេខ)។ បើជាមនុស្ស គឺមនុស្សនោះ ហើយបើជាក្រុម មានតែក្រុមដែលបូតជាសមាជិកប៉ុណ្ណោះ។ តម្លៃត្រឡប់៖ Chat។ បើមិនមាន ឬមើលមិនបាន 400 Bad Request: chat not found។
getFile
GET/bot<តូខឹន>/getFile?file_id=…
ទទួលផ្លូវសម្រាប់ទាញយក ដោយប្រើ file_id នៃរូបថតដែលបានទទួល។ តម្លៃត្រឡប់៖ File។ បន្ទាប់មក ទាញយកតាមអាសយដ្ឋាននេះ។
https://pabal.me/file/bot<តូខឹន>/<file_path>
file_id ក៏ជាសិទ្ធិក្នុងការយករូបថតនោះដែរ។ បើតម្លៃមិនត្រឹមត្រូវ 400 Bad Request: wrong file identifier/HTTP URL specified។
setMyCommands
POST/bot<តូខឹន>/setMyCommands
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | ចាំបាច់ | ការពិពណ៌នា |
|---|---|---|---|
commands | Array of BotCommand | ចាំបាច់ | រហូតដល់ 100 |
language_code | String | ស្រេចចិត្ត | រក្សាទុកជាបញ្ជីតាមភាសា។ បច្ចុប្បន្ន កម្មវិធីបង្ហាញតែបញ្ជីលំនាំដើម ដែលគ្មានលេខកូដភាសា |
scope | BotCommandScope | មិនអើពើ |
តម្លៃត្រឡប់៖ True។ បើមិនត្រូវតាមច្បាប់ពាក្យបញ្ជា 400 Bad Request: BOT_COMMAND_INVALID។
getMyCommands
GET/bot<តូខឹន>/getMyCommands
ប៉ារ៉ាម៉ែត្រគឺ language_code (ស្រេចចិត្ត)។ តម្លៃត្រឡប់៖ Array of BotCommand។
deleteMyCommands
POST/bot<តូខឹន>/deleteMyCommands
ប៉ារ៉ាម៉ែត្រគឺ language_code (ស្រេចចិត្ត)។ សម្អាតបញ្ជីនោះ។ តម្លៃត្រឡប់៖ True។
logOut · close
នៅ Telegram វាជា method ដែលប្រើពេលផ្លាស់ទៅម៉ាស៊ីនមេ Bot API មូលដ្ឋាន (local)។ នៅ Pabal គ្មានកន្លែងត្រូវផ្លាស់ទៅទេ ដូច្នេះវាគ្រាន់តែទទួល ហើយឆ្លើយត្រឡប់ True។ ដើម្បីធ្វើឲ្យតូខឹនលែងមានសុពលភាព សូមប្រើ /revoke របស់ BotFather។
Object
ស្រេចចិត្ត នៅក្បែរវាល មានន័យថាវាអាចមិនមាន។ វាលផ្សេងទៀតរបស់ Telegram ដែលមិនមាននៅទីនេះ Pabal មិនផ្ញើទេ។
Update
update ថ្មីមួយ។ វាមាន update_id និងមួយក្នុងចំណោមបីខាងក្រោម។
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
update_id | Integer | លេខដែលកើនឡើងម្តង 1។ ប្រើក្នុង offset នៃ getUpdates |
message ស្រេចចិត្ត | Message | សារថ្មីដែលមកដល់បូត (1:1 ឬសារទាំងអស់ក្នុងក្រុមដែលបូតជាសមាជិក) |
edited_message ស្រេចចិត្ត | Message | សារដែលត្រូវបានកែ |
callback_query ស្រេចចិត្ត | CallbackQuery | ការចុចប៊ូតុង inline |
User
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
id | Integer | ID អ្នកប្រើ (មានន័យតែនៅក្នុងម៉ាស៊ីនមេនេះ) |
is_bot | Boolean | true បើជាបូត |
first_name | String | នាមខ្លួន។ បើជាគណនីដែលត្រូវបានលុប Deleted Account |
last_name ស្រេចចិត្ត | String | នាមត្រកូល |
username ស្រេចចិត្ត | String | ឈ្មោះអ្នកប្រើ (គ្មាន @) |
Chat
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
id | Integer | ID របស់មនុស្សនោះ (លេខវិជ្ជមាន) បើជាមនុស្ស ហើយលេខអវិជ្ជមាន បើជាក្រុមមូលដ្ឋាន |
type | String | private ឬ group |
title ស្រេចចិត្ត | String | ឈ្មោះក្រុម (group) |
first_name, last_name, username ស្រេចចិត្ត | String | ឈ្មោះ និងឈ្មោះអ្នកប្រើរបស់ភាគីម្ខាងទៀត (private) |
Message
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
message_id | Integer | លេខសារនៅក្នុងការសន្ទនានេះ |
from ស្រេចចិត្ត | User | អ្នកផ្ញើ |
chat | Chat | ការសន្ទនាដែលមានសារនោះ |
date | Integer | ពេលវេលាផ្ញើ (វិនាទី Unix) |
edit_date ស្រេចចិត្ត | Integer | ពេលវេលាកែចុងក្រោយ |
text ស្រេចចិត្ត | String | អត្ថបទ (មានជានិច្ច បើមិនមែនជាសាររូបថត) |
entities ស្រេចចិត្ត | Array of MessageEntity | ពាក្យបញ្ជា mention URL និង hashtag ក្នុងអត្ថបទ |
photo ស្រេចចិត្ត | Array of PhotoSize | រូបថត (នៅ Pabal មានតែរូបដើមមួយ) |
caption ស្រេចចិត្ត | String | ការពិពណ៌នារូបថត |
caption_entities ស្រេចចិត្ត | Array of MessageEntity | ពាក្យបញ្ជា mention URL និង hashtag ក្នុងការពិពណ៌នា |
reply_markup ស្រេចចិត្ត | InlineKeyboardMarkup | ប៊ូតុង inline ដែលភ្ជាប់នឹងសារ |
MessageEntity
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
type | String | bot_command, mention, url, hashtag |
offset | Integer | ទីតាំងចាប់ផ្តើម (គិតជាឯកតាកូដ UTF-16) |
length | Integer | ប្រវែង (គិតជាឯកតាកូដ UTF-16) |
ម៉ាស៊ីនមេស្វែងរកពីក្នុងអត្ថបទ ហើយភ្ជាប់ដោយស្វ័យប្រវត្តិ។ entity ទម្រង់អត្ថបទ ដូចជាដិត និងទ្រេត មិនទាន់មាននៅឡើយទេ។
PhotoSize
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
file_id | String | ID សម្រាប់ទាញយក (getFile) និងផ្ញើម្តងទៀត (sendPhoto) |
file_unique_id | String | រូបថតដូចគ្នាមានតម្លៃដូចគ្នា ទោះបីបូតខុសគ្នាក៏ដោយ។ មិនអាចប្រើសម្រាប់ទាញយកបានទេ |
width, height | Integer | ទំហំគិតជាភីកសែល |
file_size | Integer | បៃ |
File
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
file_id, file_unique_id | String | ដូច PhotoSize |
file_size | Integer | បៃ |
file_path | String | ក្នុងទម្រង់ photos/<file_id>.jpg។ ភ្ជាប់វានៅក្រោយ /file/bot<តូខឹន>/ ដើម្បីទាញយក |
CallbackQuery
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
id | String | ID ដែលត្រូវផ្តល់ទៅ answerCallbackQuery |
from | User | អ្នកដែលចុចប៊ូតុង |
message ស្រេចចិត្ត | Message | សារដែលមានប៊ូតុង |
chat_instance | String | តម្លៃដែលតំណាងឲ្យការសន្ទនានោះ |
data ស្រេចចិត្ត | String | callback_data នៃប៊ូតុង |
InlineKeyboardMarkup
inline_keyboard៖ Array of Array of InlineKeyboardButton — array ខាងក្រៅជាជួរ ហើយ array ខាងក្នុងជាប៊ូតុងនៃជួរមួយ។ សារមួយមានរហូតដល់ 100 ជួរ និង 100 ប៊ូតុង។
InlineKeyboardButton
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
text | String | អត្ថបទប៊ូតុង |
callback_data មួយក្នុងពីរ | String | តម្លៃដែលទៅដល់បូតពេលចុច 1 ដល់ 64 បៃ |
url មួយក្នុងពីរ | String | អាសយដ្ឋានដែលបើកពេលចុច |
ប្រភេទផ្សេងទៀត ដូចជា switch_inline_query, web_app, login_url, pay មិនទាន់មានទេ (400)។
ReplyKeyboardMarkup
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
keyboard | Array of Array of KeyboardButton | ផ្ទាំងប៊ូតុងនៅក្រោមប្រអប់បញ្ចូល |
resize_keyboard, one_time_keyboard, is_persistent, selective ស្រេចចិត្ត | Boolean | សម្រួលទំហំ · លាក់ក្រោយប្រើម្តង · បង្ហាញជានិច្ច · តែចំពោះមនុស្សជាក់លាក់ |
input_field_placeholder ស្រេចចិត្ត | String | អត្ថបទណែនាំក្នុងប្រអប់បញ្ចូល |
KeyboardButton
ខ្សែអក្សរមួយ ឬ object ដែលមាន text និងវាលស្រេចចិត្ត request_contact (ផ្ញើលេខទំនាក់ទំនងរបស់ខ្ញុំ) និង request_location (ផ្ញើទីតាំងរបស់ខ្ញុំ, Boolean)។
ReplyKeyboardRemove
{"remove_keyboard": true} — លាក់ផ្ទាំងប៊ូតុង។ selective ជាជម្រើស។
ForceReply
{"force_reply": true} — កម្មវិធីបើកប្រអប់បញ្ចូល ក្នុងស្ថានភាពឆ្លើយតបទៅសារនេះ។ selective និង input_field_placeholder ជាជម្រើស។
BotCommand
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
command | String | អក្សរឡាតាំងតូច លេខ និងសញ្ញាគូសក្រោម 1 ដល់ 32 តួ (គ្មាន /) |
description | String | 1 ដល់ 256 តួ |
WebhookInfo
| វាល | ប្រភេទ | ការពិពណ៌នា |
|---|---|---|
url | String | អាសយដ្ឋាន webhook បើគ្មាន ជាខ្សែអក្សរទទេ |
has_custom_certificate | Boolean | false ជានិច្ច |
pending_update_count | Integer | ចំនួន update ដែលកំពុងរង់ចាំការបញ្ជូន |
ip_address ស្រេចចិត្ត | String | IP ដែលបានផ្ញើទៅចុងក្រោយ |
last_error_date ស្រេចចិត្ត | Integer | ពេលវេលានៃការបរាជ័យចុងក្រោយ (វិនាទី Unix) |
last_error_message ស្រេចចិត្ត | String | មូលហេតុនៃការបរាជ័យចុងក្រោយ (បញ្ជី) |
max_connections ស្រេចចិត្ត | Integer | តម្លៃដែលបានផ្តល់ទៅ setWebhook |
allowed_updates ស្រេចចិត្ត | Array of String | តម្លៃដែលបានផ្តល់ទៅ setWebhook |
ភាពខុសគ្នាពី Telegram Bot API
- ប្រភេទ update៖ មានតែ
message,edited_message,callback_queryប៉ុណ្ណោះ។ គ្មានការបង្ហោះក្នុងឆានែល inline query ការទូទាត់ ការបោះឆ្នោត ការផ្លាស់ប្តូរសមាជិក (my_chat_member) ជាដើមទេ។ - ទម្រង់អត្ថបទ៖ មិនអើពើ
parse_modeនិងentitiesហើយផ្ញើអត្ថបទដូចដើម។ មានតែពាក្យបញ្ជា mention URL និង hashtag ប៉ុណ្ណោះដែលបង្ហាញដោយស្វ័យប្រវត្តិ។ - ប្រភេទការសន្ទនា៖ មានតែ 1:1 និងក្រុមមូលដ្ឋាន។ គ្មានឆានែល supergroup ឬប្រធានបទវេទិកា (forum topic) ទេ។
- មេឌៀ៖ មានតែរូបថត។ គ្មានឯកសារ វីដេអូ សំឡេង ស្ទីគ័រ អាល់ប៊ុម ឬការផ្ញើតាម URL ទេ។
- បូតក្នុងក្រុម៖ គ្មាន privacy mode ដូច្នេះបូតទទួលសារទាំងអស់របស់ក្រុម។
- ជួររង់ចាំ៖ update ដែលមិនទាន់ទាញយក ត្រូវបានរក្សាក្នុងអង្គចងចាំ រហូតដល់ 1,000 ចុងក្រោយសម្រាប់បូតនីមួយៗ ហើយបាត់ពេលម៉ាស៊ីនមេចាប់ផ្តើមឡើងវិញ (Telegram រក្សាទុក 24 ម៉ោង)។
- Webhook៖ ផ្ញើម្តងមួយតាមលំដាប់ (
max_connectionsគ្រាន់តែរក្សាទុក) មិនទទួលវិញ្ញាបនបត្រដែលចុះហត្ថលេខាដោយខ្លួនឯង ហើយគ្មានការកំណត់លើច្រក។ - ID៖ ID អ្នកប្រើ សារ និងឯកសារ មានន័យតែនៅក្នុងម៉ាស៊ីនមេនេះ។ ដោយសារគ្មានឆានែល និង supergroup ក៏គ្មាន ID ទម្រង់
-100…ដែរ។ - method ដែលមិនមាន៖ អ្វីដែលមិនមានក្នុងបញ្ជីខាងលើ (
forwardMessage,copyMessage,sendDocument,sendPoll,getChatMember,banChatMember,answerInlineQuery…) ឆ្លើយ404 Not Found: method not found។