ឯកសារអ្នកអភិវឌ្ឍន៍
ភាសាខ្មែរ

ការអភិវឌ្ឍបូត

ឯកសារយោង 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
404method ឬឯកសារដែលមិនមានNot Found: method not found
409ហៅ getUpdates ពេលមាន webhookConflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
413តួលើស 12MBRequest 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

ប៉ារ៉ាម៉ែត្រប្រភេទចាំបាច់ការពិពណ៌នា
offsetIntegerស្រេចចិត្តតែ update ដែលមានលេខស្មើ ឬធំជាងលេខនេះ។ update ដែលតូចជាងនេះ ត្រូវបានលុបដោយចាត់ទុកថា "បានទទួលហើយ"។ សូមផ្តល់ update_id + 1 ចុងក្រោយដែលបានដំណើរការ។
limitIntegerស្រេចចិត្ត1 ដល់ 100 លំនាំដើម 100
timeoutIntegerស្រេចចិត្តចំនួនវិនាទីដែលត្រូវរង់ចាំ 0 ដល់ 50 លំនាំដើម 0។ យើងណែនាំ 25 ដល់ 30។
allowed_updatesArray of Stringមិនអើពើទទួល ប៉ុន្តែមិនប្រើ។ បើចង់ច្រោះតាមប្រភេទ សូមច្រោះក្រោយពេលទទួល។

តម្លៃត្រឡប់៖ Array of Update

setWebhook

POST/bot<តូខឹន>/setWebhook

ទទួល update តាមអាសយដ្ឋាន HTTPS។ ការពន្យល់លម្អិតមាននៅក្នុងឯកសារ Webhook

ប៉ារ៉ាម៉ែត្រប្រភេទចាំបាច់ការពិពណ៌នា
urlStringចាំបាច់អាសយដ្ឋានសាធារណៈ https://។ បើជាខ្សែអក្សរទទេ លុប webhook
secret_tokenStringស្រេចចិត្ត1 ដល់ 256 តួ A-Z a-z 0-9 _ -។ ផ្ញើក្នុង header សំណើ X-Telegram-Bot-Api-Secret-Token
allowed_updatesArray of Stringស្រេចចិត្តជ្រើសពី message, edited_message, callback_query។ បើទុកទទេ ទទួលទាំងអស់
drop_pending_updatesBooleanស្រេចចិត្តបោះចោល update ដែលកំពុងរង់ចាំ
max_connectionsIntegerស្រេចចិត្ត1 ដល់ 100 លំនាំដើម 40។ គ្រាន់តែរក្សាទុក ការបញ្ជូនគឺម្តងមួយសម្រាប់បូតនីមួយៗ
certificateInputFileមិនគាំទ្រ400 — សូមប្រើវិញ្ញាបនបត្រសាធារណៈ
ip_addressStringមិនអើពើ

តម្លៃត្រឡប់៖ True

deleteWebhook

POST/bot<តូខឹន>/deleteWebhook

លុប webhook ហើយត្រឡប់ទៅ getUpdates វិញ។ ទោះគ្មាន webhook ក៏ជោគជ័យដែរ។

ប៉ារ៉ាម៉ែត្រប្រភេទចាំបាច់ការពិពណ៌នា
drop_pending_updatesBooleanស្រេចចិត្តបោះចោល 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_idInteger ឬ Stringចាំបាច់ការសន្ទនាដែលត្រូវផ្ញើទៅ (មើលប្រអប់ខាងលើ)
textStringចាំបាច់1 ដល់ 4,096 តួ។ ផ្ញើជាអក្សរដូចដើម
reply_markupInlineKeyboardMarkup · ReplyKeyboardMarkup · ReplyKeyboardRemove · ForceReplyស្រេចចិត្តប៊ូតុង
disable_notificationBooleanស្រេចចិត្តផ្ញើដោយគ្មានសំឡេង
parse_mode, entities, reply_parameters, link_preview_optionsមិនអើពើទទួល ប៉ុន្តែមិនប្រើ។ ទម្រង់អត្ថបទមិនត្រូវបានអនុវត្តទេ

តម្លៃត្រឡប់៖ Message ដែលបានផ្ញើ

ដើម្បីផ្ញើទៅមនុស្សម្នាក់ មនុស្សនោះត្រូវតែធ្លាប់ផ្ញើសារទៅបូតមុន (403 Forbidden: bot can't initiate conversation with a user)។ ដើម្បីផ្ញើទៅក្រុម បូតត្រូវតែជាសមាជិកនៃក្រុមនោះ។

sendPhoto

POST/bot<តូខឹន>/sendPhoto

ប៉ារ៉ាម៉ែត្រប្រភេទចាំបាច់ការពិពណ៌នា
chat_idInteger ឬ Stringចាំបាច់ការសន្ទនាដែលត្រូវផ្ញើទៅ
photoInputFile ឬ Stringចាំបាច់ឯកសារដែលបង្ហោះដោយ multipart/form-data (រហូតដល់ 10MB, JPEG · PNG · GIF) ឬ file_id នៃរូបថតដែលបានទទួលពីមុន។ URL មិនទាន់ប្រើបានទេ
captionStringស្រេចចិត្ត0 ដល់ 1,024 តួ
reply_markupដូច sendMessageស្រេចចិត្ត
disable_notificationBooleanស្រេចចិត្ត

តម្លៃត្រឡប់៖ Message ដែលបានផ្ញើ (មាន file_id ថ្មីក្នុង photo)

editMessageText

POST/bot<តូខឹន>/editMessageText

ប៉ារ៉ាម៉ែត្រប្រភេទចាំបាច់ការពិពណ៌នា
chat_idInteger ឬ Stringចាំបាច់ការសន្ទនាដែលមានសារនោះ
message_idIntegerចាំបាច់សារដែលត្រូវកែ (សារដែលបូតបានផ្ញើ)
textStringចាំបាច់អត្ថបទថ្មី 1 ដល់ 4,096 តួ
reply_markupInlineKeyboardMarkupស្រេចចិត្តប៊ូតុងថ្មី។ បើមិនដាក់ ប៊ូតុងនឹងបាត់ (ដូច Telegram)
inline_message_idStringមិនគាំទ្រគ្មានរបៀប 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_idStringចាំបាច់callback_query.id នៃ update
textStringស្រេចចិត្តអត្ថបទដែលលេចឡើងមួយភ្លែតនៅលើអេក្រង់
show_alertBooleanស្រេចចិត្តបើ true បង្ហាញជាប្រអប់ដែលមានប៊ូតុងយល់ព្រម
urlStringស្រេចចិត្តអាសយដ្ឋានដែលកម្មវិធីនឹងបើក
cache_timeIntegerស្រេចចិត្តចំនួនវិនាទីដែលកម្មវិធីចងចាំចម្លើយនេះ

តម្លៃត្រឡប់៖ 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

ប៉ារ៉ាម៉ែត្រប្រភេទចាំបាច់ការពិពណ៌នា
commandsArray of BotCommandចាំបាច់រហូតដល់ 100
language_codeStringស្រេចចិត្តរក្សាទុកជាបញ្ជីតាមភាសា។ បច្ចុប្បន្ន កម្មវិធីបង្ហាញតែបញ្ជីលំនាំដើម ដែលគ្មានលេខកូដភាសា
scopeBotCommandScopeមិនអើពើ

តម្លៃត្រឡប់៖ 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_idIntegerលេខដែលកើនឡើងម្តង 1។ ប្រើក្នុង offset នៃ getUpdates
message ស្រេចចិត្តMessageសារថ្មីដែលមកដល់បូត (1:1 ឬសារទាំងអស់ក្នុងក្រុមដែលបូតជាសមាជិក)
edited_message ស្រេចចិត្តMessageសារដែលត្រូវបានកែ
callback_query ស្រេចចិត្តCallbackQueryការចុចប៊ូតុង inline

User

វាលប្រភេទការពិពណ៌នា
idIntegerID អ្នកប្រើ (មានន័យតែនៅក្នុងម៉ាស៊ីនមេនេះ)
is_botBooleantrue បើជាបូត
first_nameStringនាមខ្លួន។ បើជាគណនីដែលត្រូវបានលុប Deleted Account
last_name ស្រេចចិត្តStringនាមត្រកូល
username ស្រេចចិត្តStringឈ្មោះអ្នកប្រើ (គ្មាន @)

Chat

វាលប្រភេទការពិពណ៌នា
idIntegerID របស់មនុស្សនោះ (លេខវិជ្ជមាន) បើជាមនុស្ស ហើយលេខអវិជ្ជមាន បើជាក្រុមមូលដ្ឋាន
typeStringprivategroup
title ស្រេចចិត្តStringឈ្មោះក្រុម (group)
first_name, last_name, username ស្រេចចិត្តStringឈ្មោះ និងឈ្មោះអ្នកប្រើរបស់ភាគីម្ខាងទៀត (private)

Message

វាលប្រភេទការពិពណ៌នា
message_idIntegerលេខសារនៅក្នុងការសន្ទនានេះ
from ស្រេចចិត្តUserអ្នកផ្ញើ
chatChatការសន្ទនាដែលមានសារនោះ
dateIntegerពេលវេលាផ្ញើ (វិនាទី 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

វាលប្រភេទការពិពណ៌នា
typeStringbot_command, mention, url, hashtag
offsetIntegerទីតាំងចាប់ផ្តើម (គិតជាឯកតាកូដ UTF-16)
lengthIntegerប្រវែង (គិតជាឯកតាកូដ UTF-16)

ម៉ាស៊ីនមេស្វែងរកពីក្នុងអត្ថបទ ហើយភ្ជាប់ដោយស្វ័យប្រវត្តិ។ entity ទម្រង់អត្ថបទ ដូចជាដិត និងទ្រេត មិនទាន់មាននៅឡើយទេ។

PhotoSize

វាលប្រភេទការពិពណ៌នា
file_idStringID សម្រាប់ទាញយក (getFile) និងផ្ញើម្តងទៀត (sendPhoto)
file_unique_idStringរូបថតដូចគ្នាមានតម្លៃដូចគ្នា ទោះបីបូតខុសគ្នាក៏ដោយ។ មិនអាចប្រើសម្រាប់ទាញយកបានទេ
width, heightIntegerទំហំគិតជាភីកសែល
file_sizeIntegerបៃ

File

វាលប្រភេទការពិពណ៌នា
file_id, file_unique_idStringដូច PhotoSize
file_sizeIntegerបៃ
file_pathStringក្នុងទម្រង់ photos/<file_id>.jpg។ ភ្ជាប់វានៅក្រោយ /file/bot<តូខឹន>/ ដើម្បីទាញយក

CallbackQuery

វាលប្រភេទការពិពណ៌នា
idStringID ដែលត្រូវផ្តល់ទៅ answerCallbackQuery
fromUserអ្នកដែលចុចប៊ូតុង
message ស្រេចចិត្តMessageសារដែលមានប៊ូតុង
chat_instanceStringតម្លៃដែលតំណាងឲ្យការសន្ទនានោះ
data ស្រេចចិត្តStringcallback_data នៃប៊ូតុង

InlineKeyboardMarkup

inline_keyboardArray of Array of InlineKeyboardButton — array ខាងក្រៅជាជួរ ហើយ array ខាងក្នុងជាប៊ូតុងនៃជួរមួយ។ សារមួយមានរហូតដល់ 100 ជួរ និង 100 ប៊ូតុង។

InlineKeyboardButton

វាលប្រភេទការពិពណ៌នា
textStringអត្ថបទប៊ូតុង
callback_data មួយក្នុងពីរStringតម្លៃដែលទៅដល់បូតពេលចុច 1 ដល់ 64 បៃ
url មួយក្នុងពីរStringអាសយដ្ឋានដែលបើកពេលចុច

ប្រភេទផ្សេងទៀត ដូចជា switch_inline_query, web_app, login_url, pay មិនទាន់មានទេ (400)។

ReplyKeyboardMarkup

វាលប្រភេទការពិពណ៌នា
keyboardArray 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

វាលប្រភេទការពិពណ៌នា
commandStringអក្សរឡាតាំងតូច លេខ និងសញ្ញាគូសក្រោម 1 ដល់ 32 តួ (គ្មាន /)
descriptionString1 ដល់ 256 តួ

WebhookInfo

វាលប្រភេទការពិពណ៌នា
urlStringអាសយដ្ឋាន webhook បើគ្មាន ជាខ្សែអក្សរទទេ
has_custom_certificateBooleanfalse ជានិច្ច
pending_update_countIntegerចំនួន update ដែលកំពុងរង់ចាំការបញ្ជូន
ip_address ស្រេចចិត្តStringIP ដែលបានផ្ញើទៅចុងក្រោយ
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