User Tools

Site Tools


chat-bots-2025-fall:telegram_bot_api._vvedenie_i_bazovye_api_metody

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
chat-bots-2025-fall:telegram_bot_api._vvedenie_i_bazovye_api_metody [2026/03/02 12:34] – removed - external edit (Unknown date) 127.0.0.1chat-bots-2025-fall:telegram_bot_api._vvedenie_i_bazovye_api_metody [2026/03/02 12:34] (current) – ↷ Page moved from chat-bots:telegram_bot_api._vvedenie_i_bazovye_api_metody to chat-bots-2025-fall:telegram_bot_api._vvedenie_i_bazovye_api_metody olegsklyarov
Line 1: Line 1:
 +====== Telegram Bot API. Введение и базовые API методы. ======
 +
 +===== Д/З =====
 +
 +==== Reading assignment (прочитать и понять) ====
 +  * [[https://core.telegram.org/bots/api#authorizing-your-bot|Authorizing your bot]]
 +  * [[https://core.telegram.org/bots/api#making-requests|Making requests]]
 +  * [[https://core.telegram.org/bots/api#getting-updates|Getting updates]]
 +  * Available types: [[https://core.telegram.org/bots/api#update|Update]], [[https://core.telegram.org/bots/api#user|User]], [[https://core.telegram.org/bots/api#chat|Chat]], [[https://core.telegram.org/bots/api#message|Message]]
 +
 +==== Практика (подготовка) ====
 +  - Зайти в Telegram, открыть [[https://t.me/BotFather|BotFather]] и создать новый бот:
 +    - Название в формате: фамилия и инициалы (например: ''Скляров О.А.'')
 +    - Адрес бота в формате: unn_фамилия_bot (например: ''unn_sklyarov_bot'')
 +    - Сохранить токен!
 +  - Научиться руками вызывать методы [[https://core.telegram.org/bots/api#getme|getMe]], [[https://core.telegram.org/bots/api#getupdates|getUpdates]] и [[https://core.telegram.org/bots/api#sendmessage|sendMessage]] как показано на лекции (curl, скрипты на bash) или любым другим удобным способом. Научиться читать и понимать получаемый JSON ответ.
 +
 +
 +==== Практика (для зачета) ====
 +
 +=== Замечания ❗ ===
 +
 +  - все запросы в API Telegram отправляйте с токеном Вашего бота и только по протоколу HTTPS
 +  - все JSON файлы форматируйте при помощи [[https://jqlang.org|jq]].
 +
 +=== Задачи ===
 +
 +  - Отправьте запрос на [[https://core.telegram.org/bots/api#getme|getMe]], сохраните JSON-ответ (отфрматированный при помощи [[https://jqlang.org|jq]]❗) в ''getMeResponse.json''.
 +  - Напишите в ТГ личку [[https://t.me/olegsklyarov|Олегу Андреевичу]] **одно** сообщение, состоящие из двух строк:
 +    - id вашего бота (64-bit integer, подсказка: ищите в ''getMeResponse.json'')
 +    - URL Вашего бота в виде **кликабельной** ссылки (например https://t.me/unn_sklyarov_bot)
 +    - приложить файл ''getMeResponse.json''
 +  - (Олег Андреевич) отправляет секретное сообщение Вашему боту
 +  - Дождитесь сообщения в ТГ личке от [[https://t.me/olegsklyarov|Олега Андреевича]] с фразой ''Пришлите файл getUpdatesResponse.json''.
 +  - Отправьте запрос на [[https://core.telegram.org/bots/api#getupdates|getUpdates]], сохраните JSON-ответ (отфрматированный при помощи [[https://jqlang.org|jq]]❗) в ''getUpdatesResponse.json''.
 +  - Напишите в ТГ личку [[https://t.me/olegsklyarov|Олегу Андреевичу]] сообщение с приложенным файлом ''getUpdatesResponse.json''
 +  - Отправьте запрос на [[https://core.telegram.org/bots/api#sendMessage|sendMessage]] с параметрами
 +    - ''chat_id'' — укажите id Олега Андреевича (подсказка: ищите в ''getUpdatesResponse.json'').
 +    - ''text'' — секретное сообщение, которое было отправлено в Ваш бот от Олега Андреевича (подсказка: ищите в ''getUpdatesResponse.json'')
 +  - Проверьте ✅ в ТГ личке от Олега Андреевича, значит задание принято. Проверьте, что появилась отметка в [[tablica_uspevaemosti|таблице успеваемости]].
 +