====== 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|таблице успеваемости]].