Reyta’da chat-botlarni oddiy HTTPS API orqali yarating. U Telegram Bot API’ni takrorlaydi, shuning uchun siz biladigan metodlar, parametrlar va JSON javoblar bu yerda oʻzgarishsiz ishlaydi – mavjud bot esa bitta qatorni oʻzgartirish bilan koʻchiriladi.
Kirish
Bot API – bu HTTPS endpointlar toʻplami. Har bir chaqiruv asosiy URL, bot tokeningiz va metod nomidan iborat. Siz parametrlar yuborasiz – JSON qaytadi. Server tomonida hech narsa oʻrnatish shart emas: HTTP-mijozi bor istalgan til u bilan ishlaydi.
Endpoint koʻrinishi
https://api.reyta.uz/bot<token>/METHOD_NAME
Har bir javob bir xil «konvert»ga ega: mantiqiy ok va muvaffaqiyatda result, xatoda esa error_code hamda tushunarli description.
Butun model shu: getMe’ni quyidagi istalgan metodga almashtiring, uning parametrlarini qoʻshing va javobdagi JSON’ni oʻqing.
Avtorizatsiya
Token toʻgʻridan-toʻgʻri soʻrov manzilida uzatiladi – alohida sarlavha yoki OAuth bosqichi yoʻq. Uni sir saqlang: token kimda boʻlsa, botni oʻsha boshqaradi. Agar token oshkor boʻlsa, uni BotMother’da bekor qilib, qayta chiqaring.
Tokenni tekshirish
curl"https://api.reyta.uz/bot<token>/getMe"
Soʻrovlar
Parametrlarni soʻrov qatori, form-kodlangan tana (application/x-www-form-urlencoded) yoki JSON (application/json) koʻrinishida yuboring. Fayl yuklash uchun multipart/form-data’dan foydalaning. Aksar metodlar ham GET, ham POST orqali ishlaydi.
JSON tanali soʻrov
curl"https://api.reyta.uz/bot<token>/sendMessage"\ -H"Content-Type: application/json"\ -d'{"chat_id": 987654321, "text": "Hello from Reyta"}'
Telegram’dan koʻchish
Interfeys Telegram Bot API bilan bir xil boʻlgani uchun koʻchish – qayta yozish emas, balki sozlamani oʻzgartirish. Kutubxonangizdagi API asosiy manzilini Reyta’ga yoʻnaltiring va BotMother’dan token oling. Metod chaqiruvlaringiz, yangilanishlarni qayta ishlash va tiplar oʻzgarishsiz qoladi. Quyida ommabop kutubxonalar uchun bir qatorli oʻzgarishlar (grammY va Telegraf shu endpointda tekshirilgan).
from telegram.ext import ApplicationBuilder
app =(
ApplicationBuilder().token("<token>").base_url("https://api.reyta.uz/bot").build())
Boshqa istalgan kutubxona yoki toʻgʻridan-toʻgʻri HTTP
Agar kutubxonangizda API asosiy URL, host yoki apiRoot parametri boʻlsa, uni https://api.reyta.uz qilib belgilang. API’ga toʻgʻridan-toʻgʻri murojaat qilsangiz – shunchaki hostni oʻzgartiring:
Foydalanuvchi yoki chatga yozish uchun uning chat_id’si kerak. Uni olishning eng oddiy yoʻli: botingizga xabar yuboring va getUpdates orqali oʻqing – chat.id javobda boʻladi. Soʻngra:
sendMessage
curl"https://api.reyta.uz/bot<token>/sendMessage"\ -d"chat_id=987654321"\ -d"text=Salom! My bot is live on Reyta."\ -d"parse_mode=HTML"
Inline-klaviatura qoʻshing, xabarga javob bering yoki media biriktiring – parametrlar quyida har bir metod ostida keltirilgan.
Yangilanishlarni olish
Kiruvchi hodisalarni long polling yoki webhook orqali oling. Bittasini tanlang – ular bir-birini istisno qiladi.
POST/bot<token>/getUpdates→ Array of UpdateQisman qoʻllab-quvvatlanadi
Long polling orqali yangi yangilanishlarni soʻraydi. Update obyektlari massivini qaytaradi.
allowed_updates oʻqish paytida filtrlaydi: filtrlangan yangilanishlar qaytarilmaydi, lekin navbatda qoladi va ulardan keyingi offset tasdiqlanmaguncha pending_update_count da hisoblanadi.
Parametr
Tur
Majburiy
Tavsif
offset
Integer
Ixtiyoriy
Qaytariladigan birinchi yangilanish identifikatori. Tasdiqlash uchun oxirgi olingan update_id + 1 ni koʻrsating.
limit
Integer
Ixtiyoriy
Olinadigan yangilanishlar soni, 1–100. Standart 100.
timeout
Integer
Ixtiyoriy
Long polling taymauti soniyada. 0 – qisqa soʻrov (faqat test uchun).
allowed_updates
Array of String
Ixtiyoriy
Olinadigan yangilanish turlari roʻyxati, masalan ["message","callback_query"].
Matnli xabar yuboradi. Markdown/HTML formatlash va inline-klaviaturalarni qoʻllab-quvvatlaydi.
reply_to_message obyekti javob berilgan xabarning id va chatini oʻz ichiga oladi, mazmunini emas — kerak boʻlsa uni id boʻyicha oling. link_preview_options javobda qaytarilmaydi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Chatning noyob identifikatori yoki kanalning @username’i.
text
String
Ha
Xabar matni, 1–4096 belgi.
parse_mode
String
Ixtiyoriy
Formatlash uchun "MarkdownV2" yoki "HTML".
reply_markup
Object
Ixtiyoriy
Inline-klaviatura, reply-klaviatura yoki force-reply.
disable_notification
Boolean
Ixtiyoriy
Bildirishnoma tovushisiz, jimgina yuborish.
Soʻrov
curl"https://api.reyta.uz/bot<token>/sendMessage"\ -d"chat_id=987654321"\ -d"text=Salom! Reyta Bot API is live."\ -d"parse_mode=HTML"
Javob
{"ok":true,"result":{"message_id":43,"chat":{"id":987654321,"type":"private"},"date":1783900050,"text":"Salom! Reyta Bot API is live."}}
POST/bot<token>/sendPhoto→ Message
Rasmni file_id, HTTP-URL yoki multipart yuklash orqali yuboradi.
Nusxalash va keyin sarlavhani tahrirlash sifatida amalga oshirilgan. Tahrir muvaffaqiyatsiz boʻlsa, nusxa baribir yetkaziladi, lekin yangi sarlavhasiz.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat identifikatori yoki @channelusername.
from_chat_id
Integer or String
Ha
Xabar nusxalanadigan chat.
message_id
Integer
Ha
Xabar identifikatori.
caption
String
Ixtiyoriy
Yangi sarlavha. Koʻrsatilmasa, asl sarlavha saqlanadi.
parse_mode
String
Ixtiyoriy
Yangi sarlavha formati: HTML, Markdown yoki MarkdownV2.
Bir nechta xabarni asl nusxaga havolasiz koʻchiradi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
from_chat_id
Integer or String
Ha
Xabar olinayotgan chat.
message_ids
Array of Integer
Ha
Xabar id lari JSON massivi.
remove_caption
Boolean
Ixtiyoriy
Asl sarlavhasiz nusxalash.
POST/bot<token>/forwardMessages→ Array of MessageId
Bir nechta xabarni asl muallifni saqlagan holda birdaniga uzatadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
from_chat_id
Integer or String
Ha
Xabar olinayotgan chat.
message_ids
Array of Integer
Ha
Xabar id lari JSON massivi.
disable_notification
Boolean
Ixtiyoriy
Bildirishnoma ovozisiz yetkazish.
protect_content
Boolean
Ixtiyoriy
Yuborilgan xabarni uzatish va saqlashni taqiqlash.
reply_to_message_id
Integer
Ixtiyoriy
Ushbu xabarga javob sifatida yuborish.
message_thread_id
Integer
Ixtiyoriy
Xabar tegishli forum mavzusi.
Tahrirlash va oʻchirish
Bot yuborgan xabarlarni tahrirlash yoki oʻchirish. chat_id + message_id boʻyicha tahrirlash hamma joyda ishlaydi; inline_message_id boʻyicha inline xabarni tahrirlash hozircha qoʻllab-quvvatlanmaydi.
POST/bot<token>/editMessageText→ Message or TrueQisman qoʻllab-quvvatlanadi
Yuborilgan yoki inline xabar matnini tahrirlaydi.
inline_message_id boʻyicha tahrirlash hozircha qoʻllab-quvvatlanmaydi – 501 qaytaradi. chat_id + message_id boʻyicha tahrirlash ishlaydi.
Inline soʻrovlarga va inline tugmalar bosilishiga javob berish. Har bir javob soʻrov id siga bogʻlangan va u bilan birga tugaydi — darhol javob bering.
POST/bot<token>/answerCallbackQuery→ True
Inline-tugma bosilishiga javob beradi; ixtiyoriy ravishda ogohlantirish koʻrsatadi.
Parametr
Tur
Majburiy
Tavsif
callback_query_id
String
Ha
Javob beriladigan callback soʻrovi identifikatori.
text
String
Ixtiyoriy
Bildirishnoma matni, 200 belgigacha.
show_alert
Boolean
Ixtiyoriy
Toast oʻrniga modal oyna koʻrsatish.
url
String
Ixtiyoriy
Mijoz ochadigan URL.
cache_time
Integer
Ixtiyoriy
Natija mijoz tomonida necha soniya keshlanishi mumkin.
Taklif havolalarini yaratish, tahrirlash va bekor qilish. creates_join_request bilan havola kirishni administrator tasdiqlaydigan soʻrovga aylantiradi.
POST/bot<token>/exportChatInviteLink→ String
Yangi asosiy taklif havolasini yaratadi, avvalgisini bekor qiladi.
Taklif havolasini bekor qiladi, u ishlamay qoladi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
invite_link
String
Ha
Ish olib boriladigan taklif havolasi.
POST/bot<token>/approveChatJoinRequest→ True
Chatga qoʻshilish soʻrovini tasdiqlaydi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
user_id
Integer
Ha
Maqsadli foydalanuvchi.
POST/bot<token>/declineChatJoinRequest→ True
Chatga qoʻshilish soʻrovini rad etadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
user_id
Integer
Ha
Maqsadli foydalanuvchi.
Botni sozlash
Botning oʻz profili: nomi, tavsiflari, buyruqlar roʻyxati va standart administrator huquqlari. Ularning har biri til boʻyicha - lokalizatsiya uchun language_code yuboring yoki standart qiymat uchun tashlab keting.
GET/bot<token>/getMe→ User
Bot haqida asosiy maʼlumot. Tokenni tez tekshirish usuli.
POST/bot<token>/setMyCommands→ True
Botning buyruqlar roʻyxatini belgilaydi.
Parametr
Tur
Majburiy
Tavsif
commands
Array of BotCommand
Ha
Buyruqlar JSON massivi, 0-100 ta.
scope
BotCommandScope
Ixtiyoriy
Buyruqlar qayerda amal qiladi. Hozircha faqat default qamrovi hisobga olinadi.
language_code
String
Ixtiyoriy
Buyruqlar tegishli boʻlgan ikki harfli til kodi.
Soʻrov
curl"https://api.reyta.uz/bot<token>/setMyCommands"\ -d'commands=[{"command":"start","description":"Begin"},{"command":"help","description":"How it works"}]'\ -d'scope={"type":"all_private_chats"}'
Javob
{"ok":true,"result":true}
GET/bot<token>/getMyCommands→ Array of BotCommand
Botning joriy buyruqlar roʻyxati.
Parametr
Tur
Majburiy
Tavsif
scope
BotCommandScope
Ixtiyoriy
JSON scope: default, all_private_chats, all_group_chats, all_chat_administrators, chat, chat_administrators yoki chat_member.
language_code
String
Ixtiyoriy
Ikki harfli til kodi; boʻsh boʻlsa - standart qiymat.
POST/bot<token>/setMyName→ True
Bot nomini belgilaydi.
Parametr
Tur
Majburiy
Tavsif
name
String
Ixtiyoriy
Nomi.
language_code
String
Ixtiyoriy
Ikki harfli til kodi; boʻsh boʻlsa - standart qiymat.
GET/bot<token>/getMyName→ BotName
Botning joriy nomi.
Parametr
Tur
Majburiy
Tavsif
language_code
String
Ixtiyoriy
Ikki harfli til kodi; boʻsh boʻlsa - standart qiymat.
POST/bot<token>/setMyDescription→ True
Bot tavsifini belgilaydi.
Parametr
Tur
Majburiy
Tavsif
description
String
Ixtiyoriy
Tavsif matni.
language_code
String
Ixtiyoriy
Ikki harfli til kodi; boʻsh boʻlsa - standart qiymat.
Foydalanuvchiga tegishli yangi stikerlar toʻplamini yaratadi.
Toʻplam egasi uni yaratgan bot boʻladi, user_id emas — Reyta egalikni API chaqiruvchisidan oladi. needs_repainting qabul qilinadi, lekin saqlanmaydi.
Parametr
Tur
Majburiy
Tavsif
user_id
Integer
Ha
Soʻrovchini bildiradi. Toʻplam egasi — chaqiruvchi bot.
name
String
Ha
Toʻplamning qisqa nomi, 5-64 belgi: avval harf, keyin harflar, raqamlar va pastki chiziq.
title
String
Ha
Toʻplam nomi, 1-64 belgi.
stickers
Array of InputSticker
Ha
JSON massiv, koʻpi bilan 50 element. Har birida sticker (uploadStickerFile dan olingan file_id yoki shu soʻrovning qismini koʻrsatuvchi attach://<maydon>), format va emoji_list kerak; keywords va mask_position ixtiyoriy.
Keyinchalik toʻplamda ishlatish uchun stiker faylini yuklaydi.
Fayl saqlashdan oldin tekshiriladi: format, oʻlchamlar (bir tomoni 512px), TGS kadrlar chastotasi va davomiyligi, WebM kodeki. Rad etilgan fayl buzilgan qoida nomi bilan 400 qaytaradi.
Parametr
Tur
Majburiy
Tavsif
user_id
Integer
Ha
Yuklash kim uchun bajarilayotgani. Reytada har qanday toʻplam egasi — chaqiruvchi bot, shuning uchun bu maydon faqat soʻrovchini bildiradi.
sticker
InputFile
Ha
Stiker fayli, multipart/form-data sifatida yuklanadi.
sticker_format
String
Ha
static (.webp), animated (.tgs) yoki video (.webm) dan biri.
Toʻplamdagi maxsus emoji identifikatori. Hujjatning oʻnlik id si ham, getStickerSet chiqargan file_unique_id ham qabul qilinadi. Tozalash uchun yubormang.
Forum mavzulari
Forum superguruhidagi mavzularni boshqarish. Bu yerdagi har bir metod forum rejimi yoqilgan superguruhni talab qiladi — kanal yoki oddiy guruh rad etiladi.
POST/bot<token>/createForumTopic→ ForumTopic
Forum-superguruhda mavzu yaratadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat identifikatori yoki @channelusername.
name
String
Ha
Mavzu nomi, 128 belgigacha.
icon_color
Integer
Ixtiyoriy
Belgi rangi RGB son koʻrinishida.
icon_custom_emoji_id
String
Ixtiyoriy
Mavzu belgisi sifatida maxsus emoji.
POST/bot<token>/editForumTopic→ True
Forum mavzusining nomi/belgisini tahrirlaydi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
message_thread_id
Integer
Ha
Xabar tegishli forum mavzusi.
name
String
Ixtiyoriy
Nomi.
icon_custom_emoji_id
String
Ixtiyoriy
Mavzu ikonkasi sifatidagi maxsus emoji.
POST/bot<token>/deleteForumTopic→ True
Forum mavzusini xabarlari bilan birga oʻchiradi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
message_thread_id
Integer
Ha
Xabar tegishli forum mavzusi.
POST/bot<token>/closeForumTopic→ True
Forum mavzusini yopadi – yangi xabar yuborib boʻlmaydi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
message_thread_id
Integer
Ha
Xabar tegishli forum mavzusi.
POST/bot<token>/reopenForumTopic→ True
Yopilgan forum mavzusini qayta ochadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
message_thread_id
Integer
Ha
Xabar tegishli forum mavzusi.
POST/bot<token>/unpinAllForumTopicMessages→ True
Forum mavzusidagi barcha mahkamlangan xabarlarni yechadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
message_thread_id
Integer
Ha
Xabar tegishli forum mavzusi.
POST/bot<token>/editGeneralForumTopic→ True
Forumning General mavzusini qayta nomlaydi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
name
String
Ha
Nomi.
POST/bot<token>/closeGeneralForumTopic→ True
Forumning General mavzusini yopadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
POST/bot<token>/reopenGeneralForumTopic→ True
Forumning General mavzusini qayta ochadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
POST/bot<token>/hideGeneralForumTopic→ True
General mavzusini forum mavzulari roʻyxatidan yashiradi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
POST/bot<token>/unhideGeneralForumTopic→ True
General mavzusini qayta koʻrsatadi.
Parametr
Tur
Majburiy
Tavsif
chat_id
Integer or String
Ha
Maqsadli chat: raqamli id yoki @username.
GET/bot<token>/getForumTopicIconStickers→ Array of StickerQisman qoʻllab-quvvatlanadi
Forum mavzusi belgisi sifatida mavjud stikerlarni qaytaradi.
Reytada mavzu ikonkalari uchun tayyor toʻplam yoʻq. Operator serverga maxsus emoji toʻplamini koʻrsatishi mumkin; ungacha metod boʻsh massiv qaytaradi va mijozlar ikonka tanlashni koʻrsatmaydi.