Содержание

Узнать местонахождение IP адреса или сайта



  • UA


  • RU


  • EN


  • FR
  • Главная
  • Сервисы
    • IP сервисы
      • Тест скорости Интернет соединения
      • Проверка доступности IP адреса или сайта
      • Проверка приватности
      • Проверка доступности порта
      • Проверка существования e-mail адреса
      • Проверка наличия IP адреса в спам базах
      • Проверка времени отклика DNS-сервера
      • Проверка ресурса на наличие активных сервисов
    • Информационные сервисы
      • Определение производителя по MAC-адресу
      • Информация об IP адресе
      • Информация о блоках IP адресов провайдера
      • Определение хостинг-провайдера сайта
      • Узнать местонахождение IP адреса или сайта
      • Узнать диапазон IP адресов по адресу
      • Узнать расстояние между сайтами
      • Информация о домене
      • Информация о сайте
      • Проверка доступности домена
      • Узнать DNS параметры домена
      • Узнать IP адрес и почтовый сервер сайта
    • Полезные сервисы
      • Расчёт времени загрузки файла
      • Онлайн IP калькулятор
      • Онлайн chmod калькулятор
      • Онлайн punycode конвертер
      • Онлайн конвертер
      • Онлайн конвертер регистров
      • Онлайн генератор паролей
      • Онлайн шифрование текста
    • Сервисы для блога или сайта
      • Тест скорости Интернет соединения для вашего сайта
      • IP-блок и userbar для форума или вашего сайта
    • Рейтинг интернет-провайдеров
    • Мой аккаунт
  • API
    • 2IP API
    • 2IP Speedtest API
    • Статистика использования API
  • Статьи
  • Сайт
    • Авторизация на сайте
    • Регистрация на сайте
    • Восстановление пароля
  • fb. com/2ip.ua
  • Google app

2IP.ua



  • UA


  • RU


  • EN


  • FR
  • Главная
  • Сервисы
    • IP сервисы
      • Тест скорости Интернет соединения
      • Проверка доступности IP адреса или сайта
      • Проверка приватности
      • Проверка доступности порта
      • Проверка существования e-mail адреса
      • Проверка наличия IP адреса в спам базах
      • Проверка времени отклика DNS-сервера
      • Проверка ресурса на наличие активных сервисов
    • Информационные сервисы
      • Определение производителя по MAC-адресу
      • Информация об IP адресе
      • Информация о блоках IP адресов пр

Мобильный Трекер™ Местоположение телефона на карте


Номер телефона в международном формате


Russia +7Ukraine +380Kazakhstan +7Algeria +213 Andorra +376Angola +244Anguilla +1264Antigua&Barbuda +1268Argentina +549Armenia +374Aruba +297Australia +61Austria +43Azerbaijan +994Bahamas +1242Bahrain +973Bangladesh +880Barbados +1246Belarus +375Belgium +32Belize +501Benin +229Bermuda +1441Bhutan +975Bolivia +591Bosnia Herzegovina +387Botswana +267Brazil +55Brunei +673Bulgaria +359Burkina Faso +226Burundi +257Cambodia +855Cameroon +237Cape Verde Islands +238Cayman Islands +1345Central African Republic +236Chile +56China +86Colombia +57Mayotte +269Congo +242Cook Islands +682Costa Rica +506Croatia +385Cuba +53Cyprus North +90392Cyprus South +357Czech Republic +42Denmark +45Diego Garcia +2463Djibouti +253Dominican Republic +1809Dominican Republic +1829Dominican Republic +1849Ecuador +593Egypt +20Eire +353El Salvador +503Equatorial Guinea +240Eritrea +291España +34Estonia +372Ethiopia +251Falkland Islands +500Faroe Islands +298Fiji +679Finland +358France +33French Guiana +594French Polynesia +689Gabon +241Gambia +220Georgia +7880Germany +49Ghana +233Gibraltar +350Greece +30Greenland +299Grenada +1473Guadeloupe +590Guam +671Guatemala +502Guinea +224Guinea — Bissau +245Guyana +592Haiti +509Honduras +504Hong Kong +852Hungary +36Iceland +354India +91Indonesia +62Iran +98Iraq +964Israel +972Italy +39Ivory Coast +225Jamaica +1876Japan +81Jordan +962Kazakhstan +7Kenya +254Kiribati +686Korea North +850Korea South +82Kuwait +965Kyrgyzstan +996Laos +856Latvia +371Lebanon +961Lesotho +266Liberia +231Libya +218Liechtenstein +417Lithuania +370Luxembourg +352Macao +853Macedonia +389Madagascar +261Malawi +265Malaysia +60Maldives +960Mali +223Malta +356Marshall Islands +692Martinique +596Mauritania +222Mexico +52Micronesia +691Moldova +373Monaco +377Mongolia +976Montserrat +1664Morocco +212Mozambique +258Myanmar +95Namibia +264Nauru +674Nepal +977Netherlands +31New Caledonia +687New Zealand +64Nicaragua +505Niger +227Nigeria +234Niue +683Norfolk Islands +672Northern Marianas +670Norway +47Oman +968Palau +680Panama +507Papua New Guinea +675Paraguay +595Peru +51Philippines +63Poland +48Portugal +351Puerto Rico +1787Qatar +974Reunion +262Romania +40Russia +7Rwanda +250San Marino +378Sao Tome & Principe +239Saudi Arabia +966Senegal +221Yugoslavia +381Seychelles +248Sierra Leone +232Singapore +65Slovak Republic +421Slovenia +386Solomon Islands +677Somalia +252South Africa +27Sri Lanka +94St. Helena +290St. Kitts +1869St. Lucia +1758Sudan +249Suriname +597Swaziland +268Sweden +46Switzerland +41Syria +963Taiwan +886Thailand +66Togo +228Tonga +676Trinidad & Tobago +1868Tunisia +216Turkey +90Turkmenistan +993Turks & Caicos Islands +1649Tuvalu +688USA +1Ukraine +380Uzbekistan +998Uganda +256UK +44United Arab Emirates +971Uruguay +598Vanuatu +678Vatican City +379Venezuela +58Virgin Islands — US +1340Wallis & Futuna +681Yemen North +969Yemen South +967Zaire +243Zambia +260Zimbabwe +263

Поиск


Текущее местоположение мобильного устройства


Отследите телефон в режиме онлайн на карте


Гелокация устройства с указанием меток


История передвижений мобильного телефона


Полностью совместим с Android, iOS и Windows

Найти телефон по номеру онлайн

Часто задаваемые
вопросы

  • Как найти человека по телефону? — При наличии действующей платной подписки, Вы всегда можете определить местоположение в реальном времени. Все, что для этого требуется – указать правильно телефонный номер абонента в международном формате в соответствующей форме поиска.
  • Для каких целей я могу использовать сервис? — Мониторинг вашей семьи и друзей, более эффективного управления бизнеса, отслеживания любых цифровых устройств с поддержкой сим — это краткий список возможностей, которые открывает вам служба PLNET.
  • Какие устройства поддерживает служба PLNET? — Услуги PL net одинаково определяет местоположение современных смартфонов, планшеты, портативные компьютеры и сотовые телефоны. Главное, чтобы устройство функционировало с SIM-картой.
  • Мне нужно установить приложение на устройство для обслуживания? — Нет, установка и загрузка дополнительных программ на устройство не требуется.
  • Законно ли пользоваться услугой PLNET? — Да, данные о местоположении вышек мобильной связи являются общедоступными и предоставляются любому. Сервис определяет точки взаимодействия между устройством и ближайшей станцией.
  • Может ли человек знать, что он прослеживается? — Нет, цель не получает никаких уведомлений и не могу знать в любом случае, что прослеживается на данный момент.
  • Какая конфиденциальность использования? — Вся информация пользователей проходит через два-фактора фазы шифрования. Кроме того, мы оставляем за собой право на неразглашение третьим лицам о любых сделках, связанных с услугой сервиса.

Остались вопросы? Мы с удовольствием на них ответим: Если Вы хотите оставить отзыв или
внести какое – либо предложение, Вы можете сделать это в разделе Отзывы пользователей или обратиться
в
службу поддержки.

виды и типы, определение нахождения чужого адреса

Интернет — это неотъемлемая часть жизни большинства людей в современном мире. Посещая различные сайты и социальные сети, человек оставляет «след» под названием ip адрес. Это уникальный сетевой адрес узла в компьютерной сети. У любого компьютера он свой, индивидуальный. К примеру, каждая квартира находится в каком-то городе, на своей улице с конкретным номером дома. Если таксисту назвать конкретный адрес, он без проблем туда привезет. Аналогично со всеми компьютерами, у каждого из них есть свой личный адрес, но состоит он целиком из цифр. Айпи позволяет компьютерным пользователям общаться между собой.

Сетевой протокол и ip адрес

Термин «айпи» в переводе с английского — Internet Protocol, или межсетевой протокол. Это набор правил, условий и действий, необходимый для обмена данными между подключенными к сети устройствами. IP объединяет все компьютерные сети, в локальных могут использоваться другие протоколы.

Со временем технология сетевой коммуникации развивалась, в результате чего были созданы новые версии ip адресов. Вот самые популярные на сегодняшний день:

  • IPv4 — состоит из 4-х цифр в диапазоне от 0 до 255, между которыми ставятся точки, например: 85.13.254.35;
  • IPv6 — более новый формат интернет-протокола. Состоит из 9 комбинаций цифр и английских букв от A до F, например: 2002:0TY9:0000:0000:0000:0000:00DN.

IPv6 появился потому, что число пользователей, имеющих выход в интернет, со временем только увеличивалось. Рано или поздно все айпи стали бы уже кому-то присвоены, а свободных не осталось. А данный протокол решает эту проблему, так как количество айпи (возможных комбинаций цифр) в нем почти бесконечно.

Разновидности и типы ip

Основные виды

В целом айпи можно разделить на 2 категории:

  • Внутренний (домашний). В зону влияния такого адреса входит один компьютер или локальная сеть между несколькими ПК.
  • Внешний (глобальный). Полностью охватывает так называемую «Всемирную паутину». Глобальный айпи предоставляет провайдер.

Типы

Также ip можно подразделить по типам:

  • динамический — меняется при каждом новом подключении к интернет-сети;
  • статистический — абсолютно не меняется, вне зависимости от количества подключений.

Как определить ip своего компьютера

Сделать это очень просто — необходимо ввести в командную строку «ipconfig». Для этого следует выполнить несколько действий:

  1. перейти в меню пуск;
  2. в стандартных программах выбрать пункт «командная строка»;
  3. ввести «ipconfig» и нажать клавишу «enter»;
  4. в появившейся статистике найти ip и его версию.

Это способ узнать внутренний айпи. Чтобы узнать глобальную версию, необходимо через обычный браузер зайти на сайт 2ip.ru, где без каких-либо действий станет виден личный ip. Самый надежный способ узнать тип ip — позвонить провайдеру.

Как узнавать чужое местоположение с помощью ip

Порой возникает необходимость определить физический адрес по ip. Возникает вопрос, как это сделать? На сегодняшний день для этих целей создано множество онлайн-ресурсов. Они предоставляют такую услугу, как отслеживание физического адреса по ip. Но если пользователь, айпи которого надо узнать, использует прокси сервер или защищенный браузер для пользования интернетом, его реальный адрес узнать невозможно.

К тому же эти сервисы, определяющие нахождение, не дают возможности узнавать точный адрес с фамилией и именем. Чаще всего, если данные ресурсы показывают правильный город, то район все же определяют неверно. Таких вспомогательных сайтов сегодня очень много, но не все достаточно точные и удобные.

На сегодняшний день законно узнать место нахождения человека могут помочь лишь геолокационные сервисы. Геолокация позволяет получить точные географические координаты устройства подключенного к сети.

Вот самые популярные сайты:

  • utrace.de — автоматически определяет местонахождение при переходе на главную страницу. Также поможет узнавать легко координаты любого айпи;
  • maxmind.com — один из самых популярных геолокационных сайтов. Здесь даже не нужна регистрация, можно пользоваться демоверсией;
  • reg.ru/whois/ — российская служба поиска по ip адресу. Имеет самый простой, доступный для самого неопытного пользователя функционал. Позволяет определить адрес домена сайта;
  • 2ip.ru — еще один популярный сервис геолокации. Помимо прямого назначения, имеет много дополнительных служб.

Данные сервисы дают информацию от провайдеров, которые предоставят информацию лишь о стране и населенном пункте.

Даже если удалось заполучить ip, он поможет найти лишь точку расположения провайдера или его подразделения. Провайдер — это компания, которая предоставляет доступ в интернет. Законного способа определить реальное местонахождение физического лица нет. Операторы сотовой связи и интернет-провайдеры эти данные разглашать не будут. Конечно, можно попытаться раздобыть log-файлы провайдеров, и с их помощью узнать ip нужного человека. Но после это, скорее всего, появятся реальные проблемы с МВД России или с подобными службами в других странах.

Видео

Из видео вы узнаете, как пользоваться сервисами по определению местоположения по айпи.

Платформа идентификации Microsoft и протокол OpenID Connect — платформа идентификации Microsoft

  • 15 минут на чтение

В этой статье

OpenID Connect (OIDC) — это протокол аутентификации, основанный на OAuth 2.0, который можно использовать для безопасного входа пользователя в приложение. Когда вы используете реализацию OpenID Connect конечной точки платформы Microsoft Identity, вы можете добавить в свои приложения вход и доступ через API. В этой статье показано, как это сделать независимо от языка, и описано, как отправлять и получать сообщения HTTP без использования каких-либо библиотек с открытым исходным кодом Microsoft.

OpenID Connect расширяет протокол авторизации OAuth 2.0 для использования в качестве протокола аутентификации , чтобы вы могли выполнять единый вход с использованием OAuth. OpenID Connect представляет концепцию маркера ID , который представляет собой маркер безопасности, который позволяет клиенту проверять личность пользователя.Маркер ID также получает основную информацию профиля о пользователе. Он также представляет конечную точку UserInfo, API, который возвращает информацию о пользователе.

Схема протокола: вход

Самый простой процесс входа состоит из шагов, показанных на следующей диаграмме. Каждый шаг подробно описан в этой статье.

OpenID Connect описывает документ метаданных (RFC), который содержит большую часть информации, необходимой приложению для входа в систему. Сюда входит такая информация, как используемые URL-адреса и расположение открытых ключей подписи службы.Вы можете найти этот документ, добавив путь к документу обнаружения к URL-адресу центра сертификации:

Путь к документу обнаружения: /.well-known/openid-configuration

Права доступа: https://login.microsoftonline.com/{tenant}/v2.0

{tenant} может принимать одно из четырех значений:

Значение Описание
общий Пользователи с личной учетной записью Microsoft и рабочей или учебной учетной записью из Azure AD могут войти в приложение.
организации Только пользователи с рабочими или учебными учетными записями из Azure AD могут войти в приложение.
потребителей Только пользователи с личной учетной записью Microsoft могут войти в приложение.
8eaef023-2b34-4da1-9baa-8bc8c9d6a490 или contoso.onmicrosoft.com Только пользователи из определенного клиента Azure AD (независимо от того, являются ли они участниками каталога с рабочей или учебной учетной записью или являются гостями в каталоге с личной учетной записью Microsoft) могут войти в приложение.Можно использовать либо понятное доменное имя клиента Azure AD, либо идентификатор GUID клиента. Вы также можете использовать клиент-клиент

40d-6c67-4c5b-b112-36a304b66dad вместо арендатора потребителей .

В разных национальных облаках полномочия различаются — например, https://login.microsoftonline.de для экземпляра Azure AD в Германии. Если вы не используете общедоступное облако, просмотрите конечные точки национального облака, чтобы найти подходящую для вас.Убедитесь, что клиент и /v2.0/ присутствуют в вашем запросе, чтобы вы могли использовать версию v2. 0 конечной точки.

Образец запроса

Чтобы вызвать конечную точку userinfo для общих полномочий в общедоступном облаке, используйте следующее:

  GET /common/v2.0/.well-known/openid-configuration
Хост: login.microsoftonline.com
  

Пример ответа

Метаданные — это простой документ JavaScript Object Notation (JSON). См. Пример в следующем фрагменте.Содержимое полностью описано в спецификации OpenID Connect.

  {
  "authorization_endpoint": "https://login.microsoftonline.com/{tenant}/oauth3/v2.0/authorize",
  "token_endpoint": "https://login.microsoftonline.com/{tenant}/oauth3/v2.0/token",
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "private_key_jwt"
  ],
  "jwks_uri": "https://login.microsoftonline.com/{tenant}/discovery/v2.0/keys",
  "userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
  "subject_types_supported": [
      "попарно"
  ],
  ...

}
  

Если ваше приложение имеет настраиваемые ключи подписи в результате использования функции сопоставления утверждений, вы должны добавить параметр запроса appid , содержащий идентификатор приложения, чтобы получить jwks_uri , указывающий на информацию о ключе подписи вашего приложения. Например: https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?appid=6731de76-14a6-49ae-97bc-6eba6

1e содержит jwks_uri из https: //login.microsoftonline.com / {tenant} /discovery/v2.0/keys?appid=6731de76-14a6-49ae-97bc-6eba6

1e .

Обычно этот документ метаданных используется для настройки библиотеки OpenID Connect или SDK; библиотека будет использовать метаданные для выполнения своей работы. Однако, если вы не используете предварительно созданную библиотеку OpenID Connect, вы можете выполнить действия, описанные в оставшейся части этой статьи, чтобы выполнить вход в веб-приложение с помощью конечной точки платформы идентификации Microsoft.

Отправить запрос на вход

Когда вашему веб-приложению требуется аутентификация пользователя, оно может направить пользователя на конечную точку / авторизовать .Этот запрос аналогичен первому этапу потока кода авторизации OAuth 2.0, но имеет следующие важные отличия:

  • Запрос должен включать область openid в параметр scope .
  • Параметр response_type должен включать id_token .
  • Запрос должен включать параметр nonce .

Важно

Чтобы успешно запросить токен идентификатора у конечной точки / authorization, для регистрации приложения на портале регистрации необходимо включить неявное предоставление id_tokens на вкладке «Аутентификация» (которая устанавливает для флага oauth3AllowIdTokenImplicitFlow в манифесте приложения значение true ).Если он не включен, будет возвращена ошибка unsupported_response : «Указанное значение входного параметра ‘response_type’ не разрешено для этого клиента. Ожидаемое значение — ‘code’»

Например:

  // Разрывы строк предназначены только для удобства чтения.

ПОЛУЧИТЬ https://login.microsoftonline.com/{tenant}/oauth3/v2.0/authorize?
client_id = 6731de76-14a6-49ae-97bc-6eba6

1e & response_type = id_token & redirect_uri = http% 3A% 2F% 2Flocalhost% 2Fmyapp% 2F & response_mode = form_post & scope = openid & state = 12345 & nonce = 678910

Параметр Состояние Описание
арендатор Требуется Вы можете использовать значение {tenant} в пути запроса, чтобы контролировать, кто может входить в приложение. Допустимые значения: общих , организаций , потребителей и идентификаторы арендатора. Для получения дополнительной информации см. Основы протокола.
client_id Требуется Приложение (клиент) с идентификатором , который портал Azure — опыт регистрации приложений назначен вашему приложению.
response_type Требуется Должен включать id_token для входа в OpenID Connect.Он также может включать другие значения response_type , такие как code .
redirect_uri Рекомендуется URI перенаправления вашего приложения, по которому ваше приложение может отправлять и получать ответы на аутентификацию. Он должен точно соответствовать одному из URI перенаправления, который вы зарегистрировали на портале, за исключением того, что он должен быть закодирован в URL. Если его нет, конечная точка случайным образом выберет один зарегистрированный redirect_uri, чтобы отправить пользователя обратно.
объем Требуется Список областей, разделенных пробелами. Для OpenID Connect он должен включать в себя область openid , которая переводится в разрешение «Войти» в пользовательском интерфейсе согласия. Вы также можете указать другие области в этом запросе для запроса согласия.
nonce Требуется Значение, включенное в запрос, созданный приложением, который будет включен в результирующее значение id_token в качестве утверждения.Приложение может проверить это значение, чтобы уменьшить атаки с воспроизведением токена. Значение обычно представляет собой случайную уникальную строку, которая может использоваться для определения источника запроса.
response_mode Рекомендуется Задает метод, который следует использовать для отправки полученного кода авторизации обратно в ваше приложение. Может быть form_post или фрагмент . Для веб-приложений мы рекомендуем использовать response_mode = form_post , чтобы обеспечить наиболее безопасную передачу токенов в ваше приложение.
состояние Рекомендуется Значение, включенное в запрос, которое также будет возвращено в ответе токена. Это может быть строка с любым содержимым. Случайно созданное уникальное значение обычно используется для предотвращения атак с подделкой межсайтовых запросов. Состояние также используется для кодирования информации о состоянии пользователя в приложении до запроса аутентификации, например о странице или просмотре, на котором находился пользователь.
подсказка Дополнительно Указывает тип необходимого взаимодействия с пользователем.Единственные допустимые значения на данный момент: логин , нет и согласие . Запрос prompt = login заставляет пользователя вводить свои учетные данные в этом запросе, что исключает возможность единого входа. Приглашение = нет Заявление противоположное. Это утверждение гарантирует, что пользователю не будет отображаться интерактивная подсказка на. Если запрос не может быть выполнен в автоматическом режиме с помощью единого входа, конечная точка платформы идентификации Майкрософт возвращает ошибку. Запрос подсказка = согласие запускает диалоговое окно согласия OAuth после входа пользователя в систему.В диалоговом окне пользователю предлагается предоставить разрешения приложению.
login_hint Дополнительно Вы можете использовать этот параметр для предварительного заполнения поля имени пользователя и адреса электронной почты на странице входа для пользователя, если вы знаете имя пользователя заранее. Часто приложения используют этот параметр во время повторной аутентификации, после того как имя пользователя уже было извлечено из предыдущего входа в систему с помощью утверждения предпочтительное_имя_пользователя .
domain_hint Дополнительно Область пользователя в объединенном каталоге.Это пропускает процесс обнаружения на основе электронной почты, который пользователь проходит на странице входа в систему, что упрощает взаимодействие с пользователем. Для клиентов, которые объединены через локальный каталог, например AD FS, это часто приводит к беспрепятственному входу из-за существующего сеанса входа в систему.

На этом этапе пользователю предлагается ввести свои учетные данные и завершить аутентификацию. Конечная точка платформы идентификации Microsoft проверяет, согласился ли пользователь с разрешениями, указанными в параметре запроса scope .Если пользователь не дал согласия на какие-либо из этих разрешений, конечная точка платформы идентификации Microsoft предлагает пользователю дать согласие на необходимые разрешения. Вы можете узнать больше о разрешениях, согласии и мультитенантных приложениях.

После аутентификации пользователя и предоставления согласия конечная точка платформы идентификации Microsoft возвращает ответ вашему приложению по указанному URI перенаправления с использованием метода, указанного в параметре response_mode .

Успешный ответ

Успешный ответ при использовании response_mode = form_post выглядит так:

  POST / myapp / HTTP / 1.1
Хост: localhost
Тип содержимого: application / x-www-form-urlencoded

id_token = eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNB ... & state = 12345
  
Параметр Описание
id_token Маркер идентификатора, запрошенный приложением. Вы можете использовать параметр id_token , чтобы проверить личность пользователя и начать сеанс с пользователем. Дополнительные сведения о токенах ID и их содержимом см. В справочнике id_tokens .
состояние Если в запрос включен параметр состояния , то же значение должно появиться в ответе. Приложение должно проверять идентичность значений состояния в запросе и ответе.

Ответ об ошибке

Ответы об ошибках также могут быть отправлены на URI перенаправления, чтобы приложение могло их обработать. Ответ об ошибке выглядит так:

  POST / myapp / HTTP / 1.1
Хост: localhost
Тип содержимого: application / x-www-form-urlencoded

error = access_denied & error_description = + пользователь + отменен + аутентификация +
  
Параметр Описание
ошибка Строка кода ошибки, которую можно использовать для классификации типов возникающих ошибок и реагирования на них.
error_description Специальное сообщение об ошибке, которое может помочь вам определить основную причину ошибки аутентификации.

Коды ошибок для ошибок конечной точки авторизации

В следующей таблице описаны коды ошибок, которые могут быть возвращены в параметре error ответа об ошибке:

Код ошибки Описание Действия клиента
invalid_request Ошибка протокола, например, отсутствует обязательный параметр. Исправьте ошибку и повторно отправьте запрос. Это ошибка разработки, которая обычно обнаруживается во время первоначального тестирования.
unauthorized_client Клиентское приложение не может запросить код авторизации. Обычно это происходит, когда клиентское приложение не зарегистрировано в Azure AD или не добавлено в клиент Azure AD пользователя. Приложение может предлагать пользователю инструкции по установке и добавлению его в Azure AD.
доступ запрещен Владелец ресурса отказал в согласии. Клиентское приложение может уведомить пользователя о том, что оно не может продолжить работу без согласия пользователя.
unsupported_response_type Сервер авторизации не поддерживает тип ответа в запросе. Исправьте ошибку и повторно отправьте запрос. Это ошибка разработки, которая обычно обнаруживается во время первоначального тестирования.
server_error Сервер обнаружил непредвиденную ошибку. Повторите запрос.Эти ошибки могут возникать в результате временных условий. Клиентское приложение может объяснить пользователю, что его ответ задерживается из-за временной ошибки.
временно недоступен Сервер временно слишком занят для обработки запроса. Повторите запрос. Клиентское приложение может объяснить пользователю, что его ответ задерживается из-за временного состояния.
invalid_resource Целевой ресурс недействителен, потому что либо он не существует, либо Azure AD не может его найти, либо он неправильно настроен. Это означает, что ресурс, если он существует, не был настроен в клиенте. Приложение может запрашивать у пользователя инструкции по установке и добавлению приложения в Azure AD.

Проверить токен идентификатора

Просто получить id_token не всегда достаточно для аутентификации пользователя; вам также может потребоваться проверить подпись id_token и проверить утверждения в токене в соответствии с требованиями вашего приложения. Как и все платформы OIDC, конечная точка платформы идентификации Microsoft использует веб-токены JSON (JWT) и шифрование с открытым ключом для подписи токенов идентификатора и проверки их действительности.

Не все приложения получают выгоду от проверки маркера идентификатора — например, собственные приложения и одностраничные приложения редко получают выгоду от проверки маркера идентификатора. Кто-то, имеющий физический доступ к устройству (или браузеру), может обойти проверку разными способами — от редактирования веб-трафика до устройства для предоставления поддельных токенов и ключей до простой отладки приложения, чтобы пропустить логику проверки. С другой стороны, веб-приложения и API-интерфейсы, использующие токен идентификатора для авторизации, должны тщательно проверять этот токен, поскольку они закрывают доступ к данным.

После того, как вы проверили подпись id_token, вам нужно будет проверить несколько утверждений. См. Ссылку id_token для получения дополнительной информации, включая Проверка токенов и Важную информацию о смене ключа подписи. Мы рекомендуем использовать библиотеку для анализа и проверки токенов — по крайней мере одна доступна для большинства языков и платформ.

Вы также можете проверить дополнительные претензии в зависимости от вашего сценария. Вот некоторые общие проверки:

  • Проверка того, что пользователь / организация зарегистрировались в приложении.
  • Обеспечение пользователя надлежащей авторизацией / привилегиями
  • Обеспечение определенной силы аутентификации, такой как многофакторная аутентификация.

После проверки id_token вы можете начать сеанс с пользователем и использовать утверждения в id_token для получения информации о пользователе в вашем приложении. Эта информация может использоваться для отображения, записи, персонализации и т. Д.

Схема протокола: получение токена доступа

Многим веб-приложениям необходимо не только выполнять вход пользователя в систему, но и получать доступ к веб-службе от имени пользователя с помощью OAuth.Этот сценарий сочетает OpenID Connect для аутентификации пользователя с одновременным получением кода авторизации, который вы можете использовать для получения токенов доступа, если вы используете поток кода авторизации OAuth.

Полный процесс входа в систему OpenID Connect и получения токена похож на следующую схему. Мы подробно опишем каждый шаг в следующих разделах статьи.

Получить токен доступа для вызова UserInfo

Чтобы получить токен для конечной точки OIDC UserInfo, измените запрос на вход:

  // Разрывы строк предназначены только для удобства чтения.ПОЛУЧИТЬ https://login.microsoftonline.com/{tenant}/oauth3/v2.0/authorize?
client_id = 6731de76-14a6-49ae-97bc-6eba6

1e // Ваш зарегистрированный идентификатор приложения & response_type = id_token% 20token // это вернет и id_token, и токен доступа & redirect_uri = http% 3A% 2F% 2Flocalhost% 2Fmyapp% 2F // Ваш зарегистрированный URI перенаправления, URL-адрес закодирован & response_mode = form_post // 'form_post' или 'фрагмент' & scope = openid + profile + email // Требуется `openid`. `profile` и` email` предоставляют дополнительную информацию в конечной точке UserInfo так же, как и в токене идентификатора. & state = 12345 // Любое значение, предоставленное вашим приложением & nonce = 678910 // Любое значение, предоставленное вашим приложением

Вы также можете использовать поток кода авторизации, поток кода устройства или токен обновления вместо response_type = token , чтобы получить токен для вашего приложения.

Подсказка

Щелкните следующую ссылку, чтобы выполнить этот запрос.После входа в систему ваш браузер перенаправляется на https: // localhost / myapp / с токеном идентификатора и токеном в адресной строке. Обратите внимание, что в этом запросе response_mode = fragment используется только в демонстрационных целях — для веб-приложения мы рекомендуем использовать form_post для дополнительной безопасности, где это возможно.
https: //login.microsoftonline.com/common/oauth3/v2. 0/authorize …

Успешный ответ токена

Успешный ответ от использования response_mode = form_post выглядит так:

  POST / myapp / HTTP / 1.1
Хост: localhost
Тип содержимого: application / x-www-form-urlencoded
 access_token = eyJ0eXAiOiJKV1QiLCJub25jZSI6I ....
 & token_type = предъявитель
 & expires_in = 3598
 & scope = электронная почта + openid + профиль
 & id_token = eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI ....
 & state = 12345
  

Параметры ответа означают одно и то же, независимо от потока, используемого для их получения.

Параметр Описание
access_token Маркер, который будет использоваться для вызова конечной точки UserInfo.
token_type Всегда «Несущий»
expires_in Время в секундах до истечения срока действия токена доступа.
объем Разрешения, предоставленные токену доступа. Обратите внимание: поскольку конечная точка UserInfo размещена в MS Graph, здесь могут быть дополнительные области Graph, перечисленные здесь (например, user.read), если они были ранее предоставлены приложению. Это потому, что токен для данного ресурса всегда включает в себя все разрешения, предоставленные клиенту в данный момент.
id_token Маркер идентификатора, запрошенный приложением. Вы можете использовать токен идентификатора, чтобы проверить личность пользователя и начать сеанс с пользователем. Более подробную информацию о токенах ID и их содержимом вы найдете в справочнике id_tokens .
состояние Если в запрос включен параметр состояния, то же значение должно появиться в ответе. Приложение должно проверять идентичность значений состояния в запросе и ответе.

Ответ об ошибке

Ответы об ошибках также могут быть отправлены на URI перенаправления, чтобы приложение могло обработать их соответствующим образом. Ответ об ошибке выглядит так:

  POST / myapp / HTTP / 1.1
Хост: localhost
Тип содержимого: application / x-www-form-urlencoded

error = access_denied & error_description = + пользователь + отменен + аутентификация +
  
Параметр Описание
ошибка Строка кода ошибки, которую можно использовать для классификации типов возникающих ошибок и реагирования на них.
error_description Специальное сообщение об ошибке, которое может помочь вам определить основную причину ошибки аутентификации.

Описание возможных кодов ошибок и рекомендуемых ответов клиентов см. В разделе Коды ошибок для ошибок конечной точки авторизации.

Если у вас есть код авторизации и токен идентификатора, вы можете войти в систему и получить токены доступа от его имени. Чтобы войти в систему, вы должны подтвердить токен идентификатора в точности, как описано.Чтобы получить токены доступа, выполните действия, описанные в документации по потоку кода OAuth.

Вызов конечной точки UserInfo

Просмотрите документацию UserInfo, чтобы узнать, как вызвать конечную точку UserInfo с этим токеном.

Отправить запрос на выход

Если вы хотите выйти из приложения для пользователя, недостаточно очистить файлы cookie вашего приложения или иным образом завершить сеанс пользователя. Вы также должны перенаправить пользователя на конечную точку платформы Microsoft Identity для выхода.Если вы этого не сделаете, пользователь повторно аутентифицируется в вашем приложении без повторного ввода своих учетных данных, потому что у него будет действительный сеанс единого входа с конечной точкой платформы идентификации Microsoft.

Вы можете перенаправить пользователя на end_session_endpoint , указанную в документе метаданных OpenID Connect:

  ПОЛУЧИТЬ https://login.microsoftonline.com/common/oauth3/v2.0/logout?
post_logout_redirect_uri = http% 3A% 2F% 2Flocalhost% 2Fmyapp% 2F
  
Параметр Состояние Описание
post_logout_redirect_uri Рекомендуется URL-адрес, на который перенаправляется пользователь после успешного выхода.Если параметр не указан, пользователю будет показано общее сообщение, созданное конечной точкой платформы идентификации Microsoft. Этот URL-адрес должен соответствовать одному из URI перенаправления, зарегистрированных для вашего приложения на портале регистрации приложений.

Единый выход

Когда вы перенаправляете пользователя на end_session_endpoint , конечная точка платформы идентификации Microsoft очищает сеанс пользователя в браузере. Однако пользователь может по-прежнему входить в другие приложения, использующие учетные записи Microsoft для аутентификации.Чтобы эти приложения могли одновременно вывести пользователя из системы, конечная точка платформы идентификации Microsoft отправляет HTTP-запрос GET на зарегистрированный LogoutUrl всех приложений, в которые пользователь в настоящее время вошел. Приложения должны отвечать на этот запрос, очищая любой сеанс, который идентифицирует пользователя, и возвращая ответ 200 . Если вы хотите поддерживать единый выход в своем приложении, вы должны реализовать такой LogoutUrl в коде вашего приложения.Вы можете установить LogoutUrl на портале регистрации приложений.

Следующие шаги

Мое местоположение — где я сейчас?

Инструмент Где я прямо сейчас построен на основе веб-технологии геолокации, которая может определять местоположение с помощью
широта и долгота. Широта и долгота — это точное местоположение точки на Земле или координаты GPS.

Мое местонахождение

What is My Location покажет ваше текущее местоположение в формате широты и долготы, а также адрес.Есть много способов
вы можете использовать инструмент мое текущее местоположение . Вот несколько сценариев.

1. Когда вы заблудились и не можете найти выход, вы можете спросить , где я сейчас нахожусь . Это когда наш инструмент My Location Now
приходит на помощь. Вы можете найти точный адрес, а также долгую широту, а также можете увидеть карту текущего местоположения.

2. Если вы хотите встретиться с кем-то в указанном месте, но не знаете, какой у вас адрес.Вы можете использовать инструмент и показать мое текущее местоположение
а затем поделитесь ссылкой с этим человеком.

3. Когда вы отправляетесь в поездку и исследуете новый район, вы можете быстро найти, где вы находитесь, и места вокруг вас. Вы можете использовать карту, чтобы найти близлежащие парки,
или дорог, и иметь общее представление о том, где вы находитесь.

Мое местоположение сейчас

Чтобы вы могли получить свое местоположение сейчас и правильно видеть долгую долгую, адрес и карту, вам необходимо включить местоположение в вашем браузере.Если вы пользуетесь смартфоном, вы
также потребуется включить функцию определения местоположения. В противном случае инструмент what my location не сможет определить ваше текущее местоположение. Мы не храним ваши
data и никому не передадим ваше местоположение.

Приложение «Мое местоположение»

Если у вас есть телефон или планшет Android, вы можете получить наше приложение «Мое местоположение» бесплатно. В
называется Latitude Longitude и является одним из лучших приложений для определения местоположения для Android со средней оценкой 4.4. Приложение определения местоположения уже установили десятки тысяч пользователей.

Текущее местоположение

Вы можете поделиться своим местоположением с другими людьми, используя страницу текущего местоположения.

Мой почтовый индекс — быстро найдите свой почтовый индекс.
В каком я округе — найдите округ, в котором вы сейчас находитесь.
Мой адрес — найдите адрес вашего текущего местоположения.
В каком я городе — не знаю, в каком вы городе? узнайте сейчас с помощью инструмента поиска города.
В каком состоянии я нахожусь — средство поиска для определения вашего состояния.
В какой я стране — найдите страну, в которой вы находитесь.

Поиск широты и долготы на карте Получение координат

Что такое широта и долгота?

Точно так же, как каждый реальный дом имеет свой адрес (который включает номер, название улицы, города и т. Д.), Каждая точка на поверхности земли может быть указана координатами широты и долготы .Следовательно, используя широту и долготу, мы можем указать практически любую точку на Земле.

Широта имеет обозначение phi и показывает угол между прямой линией в определенной точке и экваториальной плоскостью. Широта указывается в градусах, начиная с 0 ° и заканчивая 90 ° по обе стороны от экватора, что делает широту северной и южной. Экватор — это линия с широтой 0 °. Долгота имеет символ лямбды и является другой угловой координатой, определяющей положение точки на поверхности земли.Долгота определяется как угол, указывающий на запад или восток от Гринвичского меридиана, который принимается за нулевой меридиан. Долгота может быть определена как максимум 180 ° к востоку от нулевого меридиана и 180 ° к западу от нулевого меридиана.

Широта и долгота измеряются в градусах , которые, в свою очередь, делятся на минуты и секунды. Например, тропическая зона, расположенная к югу и к северу от экватора, определяется пределами 23 ° 26’13.7 » южной широты и 23 ° 26’13,7 » северной широты. Например, географические координаты горы Нгаурухо в Новой Зеландии, известной тем, что здесь снимали фильм «Властелин колец», имеют географические координаты 39 ° 09’24,6»S 175 ° 37’55,8»E. .

О широте и длине

Latlong.net — это онлайн-географический инструмент , который можно использовать для поиска широты и долготы места и получения его координат на карте. Вы можете искать место по названию города или населенного пункта, а также по названию особых мест, и правильные координаты широты и будут показаны в нижней части формы поиска широты и долготы.При этом найденное вами место будет отображаться с маркером точки в центре карты. Также под картой будут отображаться координаты GPS .

Telegram Bot API

Bot API — это интерфейс на основе HTTP, созданный для разработчиков, заинтересованных в создании ботов для Telegram.
Чтобы узнать, как создать и настроить бота, обратитесь к разделу Introduction to Bots and Bot FAQ .

Последние изменения

Подпишитесь на @BotNews, чтобы первым узнавать о последних обновлениях и присоединяться к обсуждению в @BotTalk

4 ноября 2020

Представляем Bot API 5.0

Запустите собственный сервер API ботов

  • Исходный код Bot API теперь доступен по адресу telegram-bot-api. Теперь вы можете запустить свой собственный собственный сервер Bot API локально, что повысит производительность ваших ботов (проверьте это, чтобы узнать, пойдет ли это на пользу вашему проекту).
  • Добавлен метод logOut, который можно использовать для выхода из облачного сервера API бота перед локальным запуском бота. Вы должны выйти из бота, прежде чем запускать его локально, иначе нет гарантии, что бот получит все обновления.
  • Добавлен метод close, который можно использовать для закрытия экземпляра бота перед перемещением его с одного локального сервера на другой.

Передача права собственности на бота

  • Теперь вы можете использовать @BotFather для переноса существующих ботов в другую учетную запись Telegram.

Вебхуки

  • Добавлен параметр ip_address в метод setWebhook, позволяющий обходить разрешение DNS и использовать указанный фиксированный IP-адрес для отправки запросов веб-перехватчиков.
  • В класс WebhookInfo добавлено поле ip_address , содержащее текущий IP-адрес, используемый для создания веб-перехватчиков.
  • Добавлена ​​возможность отбрасывать все ожидающие обновления при изменении URL-адреса веб-перехватчика с помощью параметра drop_pending_updates в методах setWebhook и deleteWebhook.

Работа с группами

  • Запрос getChat теперь возвращает биографию пользователя для приватных чатов, если она доступна.
  • Запрос getChat теперь возвращает идентификатор связанного чата для супергрупп и каналов, т.е.е. идентификатор дискуссионной группы для канала и наоборот.
  • Запрос getChat теперь возвращает местоположение, к которому подключена супергруппа (см. Локальные группы). Добавлен класс ChatLocation для представления местоположения.
  • Добавлен параметр only_if_banned в метод unbanChatMember, чтобы разрешить безопасную разблокировку.

Работа с файлами

  • В классы Аудио и Видео добавлено поле имя_файла , содержащее имя исходного файла.
  • Добавлена ​​возможность отключить определение типа содержимого файла на стороне сервера с помощью параметра disable_content_type_detection в методе sendDocument и классе inputMediaDocument.

Несколько закрепленных сообщений

  • Добавлена ​​возможность закреплять сообщений в приватных чатах .
  • Добавлен параметр message_id к методу unpinChatMessage, чтобы разрешить открепление конкретного закрепленного сообщения.
  • Добавлен метод unpinAllChatMessages, который можно использовать для открепления всех закрепленных сообщений в чате.

Файловые альбомы

  • Добавлена ​​поддержка отправки и получения альбомов аудио и документов в методе sendMediaGroup.

Текущие местоположения

Анонимные администраторы

  • В класс Message добавлено поле sender_chat , содержащее отправителя сообщения, которое является чатом (группой или каналом). Для обратной совместимости в неканальных чатах поле из в таких сообщениях будет содержать пользователя 777000 для сообщений, автоматически перенаправляемых в группу обсуждения, и пользователя 1087968824 (@GroupAnonymousBot) для сообщений от анонимных администраторов группы.
  • В класс chatMember добавлено поле is_anonymous , которое можно использовать для распознавания администраторов анонимного чата.
  • Добавлен параметр is_anonymous к методу promoChatMember, который позволяет продвигать анонимных администраторов чата. Сам бот должен иметь на это право is_anonymous . Несмотря на то, что боты могут иметь право is_anonymous , они никогда не будут отображаться как анонимные в чате. Боты могут использовать право только для передачи другим администраторам.
  • Добавлен настраиваемый заголовок отправителя анонимного сообщения в класс Message как author_signature .

и более

  • Добавлен метод copyMessage, который отправляет копию любого сообщения.
  • Максимальная длина вопроса опроса увеличена до 300.
  • Добавлена ​​возможность вручную указать текстовые объекты вместо указания parse_mode в классах InputMediaPhoto, InputMediaVideo, InputMediaAnimation, InputMediaAudio, InputMediaDocument, InlineQueryResultPhoto, InlineQueryResultGif, InlineQueryResultMpeg4Gif, InlineQueryResultVideo, InlineQueryResultAudio, InlineQueryResultVoice, InlineQueryResultDocument, InlineQueryResultCachedPhoto, InlineQueryResultCachedGif, InlineQueryResultCachedMpeg4Gif, InlineQueryResultCachedVideo , InlineQueryResultCachedAudio, InlineQueryResultCachedVoice, InlineQueryResultCachedDocument, InputTextMessageContent и методы sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendVoice, sendPollage, editMessageTessage.
  • Добавлены поля google_place_id и google_place_type в классы Venue, InlineQueryResultVenue, InputVenueMessageContent и дополнительные параметры google_place_id и google_place_type в метод sendVenue для поддержки Google Places в качестве поставщика API места проведения.
  • Добавлено поле allow_sending_without_reply в методы sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendPoll, sendDice, sendInvoice для отправки сообщений разрешить ответить, если ответное сообщение уже было удалено.

И последнее, но не менее

  • Поддерживаются новые футбол и игровые автоматы анимации для случайных игральных костей. Выбирайте между различными анимациями (игра в кости, дартс, баскетбол, футбол, игровой автомат), указав параметр emoji в методе sendDice.
4 июня 2020

Бот API 4.9

  • Добавлено новое поле via_bot в объект сообщения.Теперь вы можете узнать, какой бот использовался для отправки сообщения.
  • Поддерживаются эскизы видео для встроенной анимации GIF и MPEG4.
  • Поддерживается новая анимация баскетбола для случайных кубиков. Выберите между различными анимациями (игра в кости, дартс, баскетбол), указав параметр emoji в методе sendDice.
24 апреля 2020

Бот API 4.8

  • Поддерживаемые объяснения викторин 2.0. Добавьте пояснения, указав параметры объяснение и объяснение_парс_режим в методе sendPoll.
  • Добавлены поля объяснение и объяснение_entities к объекту опроса.
  • Поддерживаются опросы по времени, которые автоматически закрываются в определенную дату и время. Настройте, указав параметр open_period или close_date в методе sendPoll.
  • Добавлены поля open_period и close_date в объект Poll.
  • Поддерживается новая анимация дротиков для мини-игры в кости. Выберите между анимацией игральных костей по умолчанию и анимацией дартса, указав параметр emoji в методе sendDice.
  • В объект Dice добавлено поле emoji .
30 марта 2020

Бот API 4,7

  • Добавлен метод sendDice для отправки сообщения о кубиках, которое будет иметь случайное значение от 1 до 6. (Да, мы знаем о «правильном» единственном числе die . Но это неудобно, и мы решили чтобы помочь ему измениться. По одной кости за раз!)
  • Добавлен кубик поля в объект сообщения.
  • Добавлен метод getMyCommands для получения текущего списка команд бота.
  • Добавлен метод setMyCommands для изменения списка команд бота через Bot API вместо @BotFather.
  • Добавлена ​​возможность создавать наборы анимированных стикеров путем указания параметра tgs_sticker вместо png_sticker в методе createNewStickerSet.
  • Добавлена ​​возможность добавлять анимированные стикеры в наборы, созданные ботом, указав параметр tgs_sticker вместо png_sticker в методе addStickerToSet.
  • Добавлено поле thumb в объект StickerSet.
  • Добавлена ​​возможность изменять эскизы наборов стикеров, созданных ботом с помощью метода setStickerSetThumb.

См. Более ранние изменения »

Авторизация бота

При создании каждому боту выдается уникальный токен аутентификации. Маркер выглядит примерно так: 123456: ABC-DEF1234ghIkl-zyx57W2v1u123ew11 , но вместо этого в этом документе мы будем использовать просто .Вы можете узнать о получении токенов и создании новых в этом документе.

Запросы

Все запросы к Telegram Bot API должны обслуживаться через HTTPS и должны быть представлены в следующей форме: https://api.telegram.org/bot/METHOD_NAME . Как это например:

  https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe  

Мы поддерживаем методы HTTP GET и POST .Мы поддерживаем четыре способа передачи параметров в запросах Bot API:

  • Строка запроса URL
  • приложение / x-www-form-urlencoded
  • приложение / json (кроме загрузки файлов)
  • multipart / form-data (используется для загрузки файлов)

Ответ содержит объект JSON, который всегда имеет логическое поле «ok» и может иметь дополнительное поле String «description» с понятным для человека описанием результата. Если «ok» равно true, запрос был успешным, и результат запроса можно найти в поле «результат».В случае неудачного запроса «ok» равно false, а ошибка объясняется в «описании». Также возвращается целочисленное поле error_code, но его содержимое может измениться в будущем. Некоторые ошибки могут также иметь необязательное поле «параметры» типа ResponseParameters, которое может помочь автоматически обработать ошибку.

  • Все методы в Bot API не чувствительны к регистру.
  • Все запросы должны выполняться с использованием UTF-8.
Создание запросов при получении обновлений

Если вы используете веб-перехватчик , вы можете выполнить запрос к API бота при отправке ответа на веб-перехватчик.Для передачи параметров используйте application / json или application / x-www-form-urlencoded или multipart / form-data тип содержимого ответа. Укажите метод, который должен быть вызван, в параметре method запроса. Невозможно узнать, что такой запрос был успешным, или получить его результат.

Примеры см. В нашем FAQ.

Использование локального сервера API ботов

Исходный код сервера Bot API доступен по адресу telegram-bot-api.Вы можете запустить его локально и отправлять запросы на свой сервер вместо https://api.telegram.org . Если вы переключитесь на локальный сервер API ботов, ваш бот сможет:

  • Скачивание файлов без ограничения размера.
  • Загружайте файлы размером до 2000 МБ.
  • Загрузите файлы, используя их локальный путь и схему URI файла.
  • Используйте URL-адрес HTTP для веб-перехватчика.
  • Используйте любой локальный IP-адрес для веб-перехватчика.
  • Используйте любой порт для веб-перехватчика.
  • Установить max_webhook_connections с до 100000.
  • Получите абсолютный локальный путь как значение поля file_path без необходимости загрузки файла после запроса getFile.
Нужен ли мне локальный сервер API ботов?

Большинство ботов будут в порядке с конфигурацией по умолчанию, работающей на наших серверах. Но если вы чувствуете, что вам нужна одна из этих функций, вы можете переключиться на свою в любое время.

Получение обновлений

Существует два взаимоисключающих способа получения обновлений для вашего бота — метод getUpdates с одной стороны и Webhooks с другой.Входящие обновления хранятся на сервере до тех пор, пока бот не получит их в любом случае, но они не будут храниться дольше 24 часов.

Независимо от того, какой вариант вы выберете, в результате вы получите JSON-сериализованные объекты обновления.

Обновление

Этот объект представляет входящее обновление.
Максимум один дополнительных параметров может присутствовать в любом данном обновлении.

Поле Тип Описание
update_id Целое число Уникальный идентификатор обновления.Идентификаторы обновления начинаются с определенного положительного числа и последовательно увеличиваются. Этот идентификатор становится особенно удобным, если вы используете Webhooks, поскольку он позволяет игнорировать повторяющиеся обновления или восстанавливать правильную последовательность обновлений, если они выходят из строя. Если новых обновлений нет хотя бы неделю, то идентификатор следующего обновления будет выбран случайно, а не последовательно.
сообщение Сообщение Необязательно . Новое входящее сообщение любого типа — текст, фото, стикер и т. Д.
edited_message Сообщение Необязательно . Новая версия сообщения, известная боту и отредактированная
канал_пост Сообщение Необязательно . Новые входящие сообщения на канале любого типа — текст, фото, стикеры и т. Д.
edited_channel_post Сообщение Необязательно . Новая известная боту версия поста канала отредактирована
inline_query InlineQuery Необязательно .Новый входящий встроенный запрос
selected_inline_result ChosenInlineResult Необязательно . Результат встроенного запроса, который был выбран пользователем и отправлен своему партнеру по чату. Пожалуйста, ознакомьтесь с нашей документацией по сбору отзывов, чтобы узнать, как включить эти обновления для вашего бота.
callback_query Обратный звонок Запрос Необязательно . Новый входящий запрос обратного вызова
shipping_query Запрос на доставку Необязательно .Новый входящий запрос на доставку. Только для счетов с гибкой ценой
pre_checkout_query PreCheckoutQuery Необязательно . Новый входящий предварительный запрос. Содержит полную информацию о кассе
опрос Опрос Необязательно . Новое состояние опроса. Боты получают только обновления об остановленных опросах и опросах, которые отправляет бот
poll_answerОтвет на опрос Необязательно .Пользователь изменил свой ответ в неанонимном опросе. Боты получают новые голоса только в опросах, которые отправил сам бот.
getUpdates

Используйте этот метод для получения входящих обновлений с помощью длительного опроса (wiki). Возвращается массив объектов обновления.

Параметр Тип Требуется Описание
смещение Целое число Дополнительно Идентификатор первого возвращаемого обновления.Должен быть на единицу больше, чем самый высокий среди идентификаторов ранее полученных обновлений. По умолчанию возвращаются обновления, начиная с самого раннего неподтвержденного обновления. Обновление считается подтвержденным, как только вызывается getUpdates со смещением на выше, чем его update_id . Отрицательное смещение может быть указано для получения обновлений, начиная с -offset update от конца очереди обновлений. Все предыдущие обновления будут забыты.
предел Целое число Дополнительно Ограничивает количество получаемых обновлений.Принимаются значения от 1 до 100. По умолчанию 100.
таймаут Целое число Дополнительно Тайм-аут в секундах для длительного опроса. По умолчанию 0, т.е. обычный короткий опрос. Должен быть положительным, короткий опрос следует использовать только в целях тестирования.
allowed_updates Массив строк Дополнительно Сериализованный в формате JSON список типов обновлений, которые должен получать бот. Например, укажите [«сообщение», «edited_channel_post», «callback_query»], чтобы получать обновления только этих типов.См. Обновление для получения полного списка доступных типов обновлений. Укажите пустой список для получения всех обновлений независимо от типа (по умолчанию). Если не указано, будет использоваться предыдущая настройка.

Обратите внимание, что этот параметр не влияет на обновления, созданные до вызова getUpdates, поэтому нежелательные обновления могут быть получены в течение короткого периода времени.

Примечания
1. Этот метод не будет работать, если настроен исходящий веб-перехватчик.
2. Чтобы избежать дублирования обновлений, пересчитывайте смещение после каждого ответа сервера.

комплект Webhook

Используйте этот метод, чтобы указать URL-адрес и получать входящие обновления через исходящий веб-перехватчик. При каждом обновлении для бота мы отправляем запрос HTTPS POST на указанный URL-адрес, содержащий сериализованное обновление JSON. В случае неудачного запроса мы откажемся от него после разумного количества попыток. В случае успеха возвращает True .

Если вы хотите убедиться, что запрос Webhook исходит от Telegram, мы рекомендуем использовать секретный путь в URL-адресе, например https://www.example.com/ <токен> . Поскольку никто другой не знает токен вашего бота, можете быть уверены, что это мы.

Параметр Тип Требуется Описание
url Строка Есть URL-адрес HTTPS для отправки обновлений.Используйте пустую строку, чтобы удалить интеграцию веб-перехватчика
сертификат Входной файл Дополнительно Загрузите сертификат открытого ключа, чтобы можно было проверить используемый корневой сертификат. См. Подробности в нашем самоподписанном руководстве.
ip_адрес Строка Дополнительно Фиксированный IP-адрес, который будет использоваться для отправки запросов веб-перехватчика вместо IP-адреса, разрешенного через DNS
max_connections Целое число Дополнительно Максимально допустимое количество одновременных HTTPS-подключений к веб-перехватчику для доставки обновлений, 1–100.По умолчанию 40 . Используйте более низкие значения, чтобы ограничить нагрузку на сервер вашего бота, и более высокие значения, чтобы увеличить пропускную способность вашего бота.
allowed_updates Массив строк Дополнительно Сериализованный в формате JSON список типов обновлений, которые должен получать бот. Например, укажите [«сообщение», «edited_channel_post», «callback_query»], чтобы получать обновления только этих типов. См. Обновление для получения полного списка доступных типов обновлений. Укажите пустой список для получения всех обновлений независимо от типа (по умолчанию).Если не указано, будет использоваться предыдущая настройка.
Обратите внимание, что этот параметр не влияет на обновления, созданные до вызова setWebhook, поэтому нежелательные обновления могут быть получены в течение короткого периода времени.
drop_pending_updates логический Дополнительно Pass True для удаления всех ожидающих обновлений

Примечания
1. Вы не сможете получать обновления с помощью getUpdates, пока настроен исходящий веб-перехватчик.
2. Чтобы использовать самозаверяющий сертификат, вам необходимо загрузить сертификат открытого ключа с помощью параметра сертификат . Пожалуйста, загрузите как InputFile, отправка строки не будет работать.
3. В настоящее время поддерживаются порты для Webhooks : 443, 80, 88, 8443 .

НОВИНКА! Если у вас возникли проблемы с настройкой веб-перехватчиков, ознакомьтесь с этим замечательным руководством по веб-перехватчикам.

удалитьWebhook

Используйте этот метод для удаления интеграции с веб-перехватчиком, если вы решите вернуться к getUpdates.В случае успеха возвращает True .

Параметр Тип Требуется Описание
drop_pending_updates логический Дополнительно Pass True для удаления всех ожидающих обновлений
getWebhookInfo

Используйте этот метод, чтобы получить текущий статус веб-перехватчика. Не требует параметров. В случае успеха возвращает объект WebhookInfo.Если бот использует getUpdates, он вернет объект с пустым полем url .

WebhookInfo

Содержит информацию о текущем состоянии веб-перехватчика.

Поле Тип Описание
url Строка URL-адрес веб-перехватчика, может быть пустым, если веб-перехватчик не настроен
has_custom_certificate логический Истинно, если для проверки сертификата веб-перехватчика был предоставлен настраиваемый сертификат
pending_update_count Целое число Количество обновлений, ожидающих доставки
ip_адрес Строка Необязательно .Текущий IP-адрес веб-перехватчика
last_error_date Целое число Необязательно . Время Unix для самой последней ошибки, которая произошла при попытке доставить обновление через webhook
last_error_message Строка Необязательно . Сообщение об ошибке в удобочитаемом формате для самой последней ошибки, которая произошла при попытке доставить обновление через webhook
max_connections Целое число Необязательно .Максимально допустимое количество одновременных HTTPS-подключений к веб-перехватчику для доставки обновлений
allowed_updates Массив строк Необязательно . Список типов обновлений, на которые подписан бот. По умолчанию для всех типов обновлений

Доступные типы

Все типы, используемые в ответах Bot API, представлены как JSON-объекты.

Можно безопасно использовать 32-разрядные целые числа со знаком для хранения всех полей Integer , если не указано иное.

Необязательные поля могут не возвращаться, если они не имеют отношения к делу.

Пользователь

Этот объект представляет пользователя или бота Telegram.

Поле Тип Описание
id Целое число Уникальный идентификатор этого пользователя или бота
is_bot логический Верно, если этот пользователь бот
first_name Строка Имя пользователя или бота
фамилия Строка Необязательно .Фамилия пользователя или бота
имя пользователя Строка Необязательно . Имя пользователя или бота
language_code Строка Необязательно . Тег языка IETF для языка пользователя
can_join_groups логический Необязательно . Правда, если бота можно приглашать в группы. Вернулся только в getMe.
can_read_all_group_messages логический Необязательно .Верно, если для бота отключен приватный режим. Вернулся только в getMe.
supports_inline_queries логический Необязательно . Правда, если бот поддерживает встроенные запросы. Вернулся только в getMe.
Чат

Этот объект представляет чат.

Поле Тип Описание
id Целое число Уникальный идентификатор этого чата.Это число может быть больше 32 бит, и некоторые языки программирования могут иметь затруднительные / скрытые дефекты при его интерпретации. Но он меньше 52 бит, поэтому 64-битное целое число со знаком или плавающий тип двойной точности безопасны для хранения этого идентификатора.
тип Строка Тип чата, может быть «частным», «групповым», «супергрупповым» или «канальным».
название Строка Необязательно . Заголовок, для супергрупп, каналов и групповых чатов
имя пользователя Строка Необязательно .Имя пользователя для приватных чатов, супергрупп и каналов, если доступно
first_name Строка Необязательно . Имя собеседника в приватном чате
фамилия Строка Необязательно . Фамилия собеседника в приватном чате
фото Чат Фото Необязательно . Фото чата. Вернул только в getChat.
био Строка Необязательно .Биография собеседника в приватном чате. Вернул только в getChat.
описание Строка Необязательно . Описание, для групп, супергрупп и чатов каналов. Вернул только в getChat.
invit_link Строка Необязательно . Ссылка для приглашения в чат для групп, супергрупп и чатов каналов. Каждый администратор в чате генерирует свои собственные пригласительные ссылки, поэтому бот должен сначала сгенерировать ссылку с помощью exportChatInviteLink.Вернул только в getChat.
pinned_message Сообщение Необязательно . Последнее закрепленное сообщение (по дате отправки). Вернул только в getChat.
разрешения ChatPermissions Необязательно . Разрешения участников чата по умолчанию для групп и супергрупп. Вернул только в getChat.
slow_mode_delay Целое число Необязательно .Для супергрупп — минимально допустимая задержка между последовательными сообщениями, отправляемыми каждым непривилегированным пользователем. Вернул только в getChat.
имя_набора_наклей Строка Необязательно . Для супергрупп — название набора групповых стикеров. Вернул только в getChat.
can_set_sticker_set логический Необязательно . Правда, если бот умеет менять групповой набор стикеров. Вернул только в getChat.
connected_chat_id Целое число Необязательно .Уникальный идентификатор связанного чата, то есть идентификатор группы обсуждения для канала и наоборот; для супергрупп и чатов каналов. Длина этого идентификатора может превышать 32 бита, и некоторые языки программирования могут иметь затруднительные / скрытые дефекты при его интерпретации. Но он меньше 52 бит, поэтому 64-битное целое число со знаком или плавающий тип двойной точности безопасны для хранения этого идентификатора. Вернул только в getChat.
расположение Чат Местоположение Необязательно .Для супергрупп — место, к которому супергруппа подключена. Вернул только в getChat.
Сообщение

Этот объект представляет сообщение.

.

Поле Тип Описание
message_id Целое число Уникальный идентификатор сообщения внутри этого чата
из Пользователь Необязательно . Отправитель, пусто для сообщений, отправленных на каналы
sender_chat Чат Необязательно .Отправитель сообщения, отправленного от имени чата. Сам канал для сообщений канала. Сама супергруппа для сообщений от администраторов анонимных групп. Связанный канал для сообщений, автоматически перенаправляемых в группу обсуждения
дата Целое число Дата отправки сообщения по времени Unix
чат Чат Диалог, которому принадлежит сообщение
вперед_от Пользователь Необязательно .Для пересылаемых сообщений отправитель исходного сообщения
вперед_from_chat Чат Необязательно . Для сообщений, пересылаемых по каналам или от анонимных администраторов, информация об исходном чате отправителя
forward_from_message_id Целое число Необязательно . Для сообщений, пересылаемых из каналов, идентификатор исходного сообщения в канале
forward_signature Строка Необязательно .Для сообщений, пересылаемых с каналов, подпись автора сообщения, если есть
forward_sender_name Строка Необязательно . Имя отправителя сообщений, пересылаемых от пользователей, которые запрещают добавлять ссылку на свою учетную запись в пересылаемых сообщениях
forward_date Целое число Необязательно . Для пересылаемых сообщений дата отправки исходного сообщения по времени Unix
reply_to_message Сообщение Необязательно .Для ответов — исходное сообщение. Обратите внимание, что объект сообщения в этом поле не будет содержать дополнительных полей reply_to_message , даже если он сам является ответом.
via_bot Пользователь Необязательно . Бот, через который было отправлено сообщение
edit_date Целое число Необязательно . Дата последнего редактирования сообщения в Unix-времени
media_group_id Строка Необязательно .Уникальный идентификатор группы мультимедийных сообщений, к которой принадлежит это сообщение.
автор_подпись Строка Необязательно . Подпись автора сообщения для сообщений в каналах или произвольное название анонимного администратора группы
текст Строка Необязательно . Для текстовых сообщений фактический текст сообщения UTF-8, 0-4096 символов
организаций Массив MessageEntity Необязательно .Для текстовых сообщений специальные объекты, такие как имена пользователей, URL-адреса, команды ботов и т. Д., Которые появляются в тексте
анимация Анимация Необязательно . Сообщение — это анимация, информация об анимации. Для обратной совместимости, когда это поле установлено, поле документа также будет установлено как
аудио Аудио Необязательно . Сообщение — аудиофайл, информация о файле
документ Документ Необязательно .Сообщение — это общий файл, информация о файле
фото Массив фоторазмеров Необязательно . Сообщение представляет собой фотографию, доступные размеры фото
наклейка Наклейка Необязательно . Сообщение — наклейка, информация о наклейке
видео Видео Необязательно . Сообщение — это видео, информация о видео
video_note VideoNote Необязательно .Сообщение — видеозаметка, информация о видео сообщении
голос Голос Необязательно . Сообщение — голосовое сообщение, информация о файле
подпись Строка Необязательно . Подпись для анимации, аудио, документа, фото, видео или голоса, 0-1024 символов
caption_entities Массив MessageEntity Необязательно .Для сообщений с подписью используются специальные объекты, такие как имена пользователей, URL-адреса, команды ботов и т. Д., Которые отображаются в подписи
контакт Контакт Необязательно . Сообщение — общий контакт, информация о контакте
игральные кости Кости Необязательно . Сообщение представляет собой игральную кость со случайным значением от 1 до 6
игра Игра Необязательно . Сообщение — это игра, информация об игре.Подробнее об играх »
опрос Опрос Необязательно . Сообщение — нативный опрос, информация об опросе
заведение Место проведения Необязательно . Сообщение — это место проведения, информация о месте проведения. Для обратной совместимости, когда это поле установлено, поле location также будет установлено
расположение Расположение Необязательно .Сообщение является общим местоположением, информация о местоположении
new_chat_members Массив пользователей Необязательно . Новые участники, которые были добавлены в группу или супергруппу, и информация о них (сам бот может быть одним из этих участников)
left_chat_member Пользователь Необязательно . Участник удален из группы, информация о нем (этим участником может быть сам бот)
new_chat_title Строка Необязательно .Название чата было изменено на это значение
new_chat_photo Массив фоторазмеров Необязательно . Фотография чата была изменена на это значение
delete_chat_photo Истинно Необязательно . Служебное сообщение: фото чата удалено
group_chat_created Истинно Необязательно . Служебное сообщение: группа создана
supergroup_chat_created Истинно Необязательно .Служебное сообщение: супергруппа создана. Это поле нельзя получить в сообщении, приходящем через обновления, потому что бот не может быть членом супергруппы при ее создании. Его можно найти в reply_to_message только в том случае, если кто-то отвечает на самое первое сообщение в непосредственно созданной супергруппе.
channel_chat_created Истинно Необязательно . Служебное сообщение: канал создан. Это поле нельзя получить в сообщении, приходящем через обновления, потому что бот не может быть участником канала при его создании.Его можно найти в reply_to_message, только если кто-то отвечает на самое первое сообщение в канале.
migrate_to_chat_id Целое число Необязательно . Группа была перенесена в супергруппу с указанным идентификатором. Это число может быть больше 32 бит, и некоторые языки программирования могут иметь затруднительные / скрытые дефекты при его интерпретации. Но он меньше 52 бит, поэтому 64-битное целое число со знаком или плавающий тип двойной точности безопасны для хранения этого идентификатора.
migrate_from_chat_id Целое число Необязательно . Супергруппа была перенесена из группы с указанным идентификатором. Это число может быть больше 32 бит, и некоторые языки программирования могут иметь затруднительные / скрытые дефекты при его интерпретации. Но он меньше 52 бит, поэтому 64-битное целое число со знаком или плавающий тип двойной точности безопасны для хранения этого идентификатора.
pinned_message Сообщение Необязательно .Указанное сообщение закреплено. Обратите внимание, что объект сообщения в этом поле не будет содержать дополнительных полей reply_to_message , даже если он сам является ответом.
счет-фактура Счет-фактура Необязательно . Сообщение — это счет на оплату, информация о счете. Подробнее о платежах »
успешный_платеж Успешный платеж Необязательно . Сообщение — служебное сообщение об успешном платеже, информация о платеже.Подробнее о платежах »
connected_website Строка Необязательно . Доменное имя сайта, на котором зарегистрировался пользователь. Подробнее о Telegram Login »
паспортные данные ПаспортДанные Необязательно . Telegram Паспортные данные
близости_alert_triggered ProximityAlertTriggered Необязательно . Сервисное сообщение. Пользователь в чате активировал оповещение о близости другого пользователя, когда делился своим местоположением в реальном времени.
reply_markup InlineKeyboardMarkup Необязательно . Встроенная клавиатура, прикрепленная к сообщению. login_url кнопки представлены как обычные кнопки url .
Идентификатор сообщения

Этот объект представляет уникальный идентификатор сообщения.

Поле Тип Описание
message_id Целое число Уникальный идентификатор сообщения
MessageEntity

Этот объект представляет собой одну особую сущность в текстовом сообщении.Например, хэштеги, имена пользователей, URL-адреса и т. Д.

Поле Тип Описание
тип Строка Тип юридического лица. Может быть «упоминание» ( @username ), «hashtag» ( #hashtag ), «cashtag» ( $ долларов США), «bot_command» ( / start @ jobs_bot ), «url» ( https : //telegram.org ), «электронная почта» ( [email protected] ), «phone_number» ( + 1-212-555-0123 ), «жирный» ( жирный текст ), «Курсив» ( курсивный текст ), «подчеркнутый» (подчеркнутый текст), «зачеркнутый» (зачеркнутый текст), «код» (моноширинная строка), «pre» (моноширинный блок), «текстовая ссылка» (для кликабельной текстовые URL-адреса), «text_mention» (для пользователей без имен пользователей)
смещение Целое число Смещение в единицах кода UTF-16 до начала объекта
длина Целое число Длина объекта в единицах кода UTF-16
url Строка Необязательно .Только для «text_link» URL, который будет открыт после того, как пользователь нажмет на текст
пользователь Пользователь Необязательно . Только для «text_mention» указанный пользователь
язык Строка Необязательно . Только для «pre», язык программирования текста объекта
Размер фото

Этот объект представляет один размер фотографии или эскиз файла / стикера.

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов. Невозможно использовать для загрузки или повторного использования файла.
ширина Целое число Ширина фото
высота Целое число Высота фото
размер_файла Целое число Необязательно .Размер файла
Анимация

Этот объект представляет файл анимации (видео в формате GIF или H.264 / MPEG-4 AVC без звука).

Размер фото

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов.Невозможно использовать для загрузки или повторного использования файла.
ширина Целое число Ширина видео, определенная отправителем
высота Целое число Высота видео, определенная отправителем
длительность Целое число Продолжительность видео в секундах, определенная отправителем
большой палец Необязательно . Миниатюра анимации, определенная отправителем
имя_файла Строка Необязательно .Исходное имя файла анимации, определенное отправителем
mime_type Строка Необязательно . MIME-тип файла, определенный отправителем
размер_файла Целое число Необязательно . Размер файла
Аудио

Этот объект представляет аудиофайл, который клиенты Telegram будут рассматривать как музыку.

Размер фото

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов.Невозможно использовать для загрузки или повторного использования файла.
длительность Целое число Продолжительность звука в секундах, определенная отправителем
исполнитель Строка Необязательно . Исполнитель аудио, определенный отправителем или аудио тегами
название Строка Необязательно . Название аудио, определенное отправителем или аудио тегами
имя_файла Строка Необязательно .Исходное имя файла, определенное отправителем
mime_type Строка Необязательно . MIME-тип файла, определенный отправителем
размер_файла Целое число Необязательно . Размер файла
большой палец Необязательно . Миниатюра обложки альбома, к которому принадлежит музыкальный файл
Документ

Этот объект представляет собой общий файл (в отличие от фотографий, голосовых сообщений и аудиофайлов).

Размер фото

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов. Невозможно использовать для загрузки или повторного использования файла.
большой палец Необязательно .Миниатюра документа, определенная отправителем
имя_файла Строка Необязательно . Исходное имя файла, определенное отправителем
mime_type Строка Необязательно . MIME-тип файла, определенный отправителем
размер_файла Целое число Необязательно . Размер файла
Видео

Этот объект представляет видеофайл.

Размер фото

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов. Невозможно использовать для загрузки или повторного использования файла.
ширина Целое число Ширина видео, определенная отправителем
высота Целое число Высота видео, определенная отправителем
длительность Целое число Продолжительность видео в секундах, определенная отправителем
большой палец Необязательно .Миниатюра видео
имя_файла Строка Необязательно . Исходное имя файла, определенное отправителем
mime_type Строка Необязательно . Mime-тип файла, определенный отправителем
размер_файла Целое число Необязательно . Размер файла
VideoNote

Этот объект представляет собой видеосообщение (доступно в приложениях Telegram начиная с v.4.0).

Размер фото

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов. Невозможно использовать для загрузки или повторного использования файла.
длина Целое число Ширина и высота видео (диаметр видеосообщения), определенные отправителем
длительность Целое число Продолжительность видео в секундах, определенная отправителем
большой палец Необязательно .Миниатюра видео
размер_файла Целое число Необязательно . Размер файла
Голосовой

Этот объект представляет голосовую заметку.

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов.Невозможно использовать для загрузки или повторного использования файла.
длительность Целое число Продолжительность звука в секундах, определенная отправителем
mime_type Строка Необязательно . MIME-тип файла, определенный отправителем
размер_файла Целое число Необязательно . Размер файла
Связаться

Этот объект представляет телефонный контакт.

Поле Тип Описание
телефон Строка Телефон контакта
first_name Строка Имя контакта
фамилия Строка Необязательно . Фамилия контакта
user_id Целое число Необязательно .Идентификатор пользователя контакта в Telegram
vcard Строка Необязательно . Дополнительные данные о контакте в виде vCard
Кости

Этот объект представляет собой анимированный смайлик, который отображает случайное значение.

Опция опроса

Этот объект содержит информацию об одном варианте ответа в опросе.

Поле Тип Описание
текст Строка Текст опции, 1-100 знаков
voter_count Целое число Количество пользователей, проголосовавших за этот вариант
Ответ на опрос

Этот объект представляет ответ пользователя в неанонимном опросе.

Поле Тип Описание
poll_id Строка Уникальный идентификатор опроса
пользователь Пользователь Пользователь, изменивший ответ на опрос
option_ids Массив целых чисел 0 идентификаторов вариантов ответов, выбранных пользователем. Может быть пустым, если пользователь отозвал свой голос.
Опрос

Этот объект содержит информацию об опросе.

Поле Тип Описание
id Строка Уникальный идентификатор опроса
вопрос Строка Вопрос для опроса, 1-255 знаков
варианты Массив вариантов опроса Список вариантов опроса
total_voter_count Целое число Общее количество пользователей, проголосовавших в опросе
закрыт логический Верно, если опрос закрыт
is_anonymous логический Верно, если опрос анонимный
тип Строка Тип опроса, в настоящее время может быть «обычный» или «викторина»
allowed_multiple_answers логический Верно, если опрос допускает несколько ответов
правильный_option_id Целое число Необязательно .Отсчитываемый от 0 идентификатор правильного варианта ответа. Доступно только для опросов в режиме викторины, которые закрыты, были отправлены (не перенаправлены) ботом или в приватный чат с ботом.
объяснение Строка Необязательно . Текст, который отображается, когда пользователь выбирает неправильный ответ или нажимает на значок лампы в опросе в стиле викторины, 0–200 символов
объяснение_ сущности Массив MessageEntity Необязательно .Специальные объекты, такие как имена пользователей, URL-адреса, команды ботов и т. Д., Которые появляются в объяснении
open_period Целое число Необязательно . Время в секундах, в течение которого опрос будет активен после создания
close_date Целое число Необязательно . Момент времени (временная метка Unix), когда опрос будет автоматически закрыт
Расположение

Этот объект представляет точку на карте.

Поле Тип Описание
долгота Поплавок Долгота, определенная отправителем
широта Поплавок Широта, определенная отправителем
горизонтальная точность Число поплавка Необязательно . Радиус неопределенности местоположения, измеряемый в метрах; 0-1500
live_period Целое число Необязательно .Время относительно даты отправки сообщения, в течение которого местоположение может быть обновлено, в секундах. Только для активных живых локаций.
товарная позиция Целое число Необязательно . Направление, в котором движется пользователь, в градусах; 1-360. Только для активных живых локаций.
близости_alert_radius Целое число Необязательно . Максимальное расстояние для оповещений о приближении к другому участнику чата в метрах.Только для отправленных живых местоположений.
Место проведения

Этот объект представляет собой заведение.

Поле Тип Описание
местонахождение Расположение Расположение объекта. Не может быть живым местом
название Строка Название места
адрес Строка Адрес места проведения
foursquare_id Строка Необязательно .Идентификатор места проведения Foursquare
foursquare_type Строка Необязательно . Тип площадки Foursquare. (Например, «arts_entertainment / default», «arts_entertainment / aquarium» или «food / icecream».)
google_place_id Строка Необязательно . Идентификатор места проведения в Google Places
google_place_type Строка Необязательно .Тип места проведения Google Places. (См. Поддерживаемые типы.)
ProximityAlertTriggered

Этот объект представляет содержимое служебного сообщения, отправляемого всякий раз, когда пользователь в чате запускает оповещение о близости, установленное другим пользователем.

Поле Тип Описание
путешественник Пользователь Пользователь, вызвавший предупреждение
наблюдатель Пользователь Пользователь, установивший оповещение
расстояние Целое число Расстояние между пользователями
Профиль пользователя Фото

Этот объект представляет собой изображение профиля пользователя.

Поле Тип Описание
total_count Целое число Общее количество изображений профиля целевого пользователя
фото Массив массива PhotoSize Запрошенные изображения профиля (до 4 размеров каждое)
Файл

Этот объект представляет файл, готовый к загрузке. Файл можно скачать по ссылке https: // api.telegram.org/file/bot/ . Гарантируется, что ссылка будет действительна не менее 1 часа. По истечении срока действия ссылки можно запросить новую, вызвав getFile.

Максимальный размер загружаемого файла — 20 МБ

Поле Тип Описание
file_id Строка Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
file_unique_id Строка Уникальный идентификатор этого файла, который должен быть одинаковым с течением времени и для разных ботов.Невозможно использовать для загрузки или повторного использования файла.
размер_файла Целое число Необязательно . Размер файла, если известен
file_path Строка Необязательно . Путь файла. Используйте https://api.telegram.org/file/bot/ , чтобы получить файл.
ОтветитьKeyboardMarkup

Этот объект представляет собой настраиваемую клавиатуру с параметрами ответа (подробности и примеры см. В разделе Введение в ботов).

Поле Тип Описание
клавиатура Массив массива KeyboardButton Массив строк кнопок, каждая из которых представлена ​​массивом объектов KeyboardButton
resize_keyboard логический Необязательно . Просит клиентов изменить размер клавиатуры по вертикали для оптимальной подгонки (например, сделать клавиатуру меньше, если есть только два ряда кнопок).По умолчанию false , и в этом случае настраиваемая клавиатура всегда имеет ту же высоту, что и стандартная клавиатура приложения.
one_time_keyboard логический Необязательно . Просит клиентов скрыть клавиатуру, как только она будет использована. Клавиатура по-прежнему будет доступна, но клиенты будут автоматически отображать обычную буквенную клавиатуру в чате — пользователь может нажать специальную кнопку в поле ввода, чтобы снова увидеть настраиваемую клавиатуру.По умолчанию ложно .
селективный логический Необязательно . Используйте этот параметр, если хотите показать клавиатуру только определенным пользователям. Цели: 1) пользователи, @ упомянутые в тексте объекта сообщения; 2) если сообщение бота является ответом (имеет reply_to_message_id ), отправитель исходного сообщения.

Пример: Пользователь запрашивает изменение языка бота, бот отвечает на запрос с помощью клавиатуры, чтобы выбрать новый язык.Другие пользователи в группе не видят клавиатуру.

Клавиатура

Этот объект представляет одну кнопку клавиатуры ответа. Для простых текстовых кнопок String может использоваться вместо этого объекта, чтобы указать текст кнопки. Необязательные поля request_contact , request_location и request_poll являются взаимоисключающими.

Поле Тип Описание
текст Строка Текст кнопки.Если ни одно из дополнительных полей не используется, оно будет отправлено в виде сообщения при нажатии кнопки
request_contact логический Необязательно . Если True , телефонный номер пользователя будет отправлен как контакт при нажатии кнопки. Доступно только в приватных чатах
request_location логический Необязательно . Если True , текущее местоположение пользователя будет отправлено при нажатии кнопки.Доступно только в приватных чатах
request_poll KeyboardButtonPollType Необязательно . Если указано, пользователю будет предложено создать опрос и отправить его боту при нажатии кнопки. Доступно только в приватных чатах

Примечание. Параметры request_contact и request_location будут работать только в версиях Telegram, выпущенных после 9 апреля 2016 г. Старые клиенты будут отображать неподдерживаемое сообщение .
Примечание. Параметр request_poll будет работать только в версиях Telegram, выпущенных после 23 января 2020 года. Старые клиенты будут отображать неподдерживаемое сообщение .

KeyboardButtonPollType

Этот объект представляет тип опроса, который может быть создан и отправлен при нажатии соответствующей кнопки.

Поле Тип Описание
тип Строка Необязательно .Если викторина пройдена, пользователю будет разрешено создавать только опросы в режиме викторины. Если обычный пройден, будут разрешены только обычные опросы. В противном случае пользователю будет разрешено создать опрос любого типа.
Ответить с клавиатуры Удалить

При получении сообщения с этим объектом клиенты Telegram удаляют текущую настраиваемую клавиатуру и отображают буквенную клавиатуру по умолчанию. По умолчанию настраиваемые клавиатуры отображаются до тех пор, пока бот не отправит новую клавиатуру.Исключение составляет одноразовая клавиатура, которая скрывается сразу после нажатия кнопки пользователем (см. ReplyKeyboardMarkup).

Поле Тип Описание
remove_keyboard Истинно Запрашивает клиентов удалить настраиваемую клавиатуру (пользователь не сможет вызвать эту клавиатуру; если вы хотите скрыть клавиатуру от глаз, но сохранить ее доступной, используйте one_time_keyboard в ReplyKeyboardMarkup)
селективный логический Необязательно .Используйте этот параметр, если вы хотите удалить клавиатуру только для определенных пользователей. Цели: 1) пользователи, @ упомянутые в тексте объекта сообщения; 2) если сообщение бота является ответом (имеет reply_to_message_id ), отправитель исходного сообщения.

Пример: Пользователь голосует в опросе, бот возвращает сообщение с подтверждением в ответ на голосование и удаляет клавиатуру для этого пользователя, при этом все еще показывая клавиатуру с параметрами опроса пользователям, которые еще не проголосовали.

InlineKeyboardMarkup

Этот объект представляет собой встроенную клавиатуру, которая отображается рядом с сообщением, которому она принадлежит.

Примечание: Это будет работать только в версиях Telegram, выпущенных после 9 апреля 2016 года. В старых клиентах будет отображаться сообщение неподдерживаемое .

InlineKeyboardButton

Этот объект представляет одну кнопку встроенной клавиатуры. Вы должны использовать только одно из необязательных полей.

Поле Тип Описание
текст Строка Текст надписи на кнопке
url Строка Необязательно . HTTP или tg: // url, который открывается при нажатии кнопки
login_url LoginUrl Необязательно . URL-адрес HTTP, используемый для автоматической авторизации пользователя. Может использоваться как замена виджета входа в Telegram.
callback_data Строка Необязательно . Данные для отправки боту в ответном запросе при нажатии кнопки, 1-64 байта
switch_inline_query Строка Необязательно . Если установлено, нажатие кнопки предложит пользователю выбрать один из своих чатов, открыть этот чат и вставить имя пользователя бота и указанный встроенный запрос в поле ввода. Может быть пустым, и в этом случае будет вставлено только имя пользователя бота.

Примечание: Это дает пользователям простой способ начать использовать вашего бота во встроенном режиме, когда они в данный момент находятся в приватном чате с ним. Особенно полезно в сочетании с действиями switch_pm… — в этом случае пользователь автоматически вернется в чат, из которого он переключился, пропуская экран выбора чата.

switch_inline_query_current_chat Строка Необязательно . Если установлено, нажатие кнопки вставит имя пользователя бота и указанный встроенный запрос в поле ввода текущего чата.Может быть пустым, и в этом случае будет вставлено только имя пользователя бота.

Это предлагает пользователю быстрый способ открыть вашего бота во встроенном режиме в том же чате — удобно для выбора чего-либо из нескольких вариантов.

callback_game Обратный звонокИгра Необязательно . Описание игры, которая будет запускаться при нажатии пользователем кнопки.

ПРИМЕЧАНИЕ: Кнопка этого типа должна всегда быть первой кнопкой в ​​первом ряду.

платить логический Необязательно . Укажите True, чтобы отправить кнопку Pay.

ПРИМЕЧАНИЕ: Кнопка этого типа должна всегда быть первой кнопкой в ​​первом ряду.

LoginUrl

Этот объект представляет параметр встроенной кнопки клавиатуры, используемой для автоматической авторизации пользователя. Служит отличной заменой виджета входа в Telegram, когда пользователь переходит из Telegram.Все, что нужно сделать пользователю, это нажать / щелкнуть кнопку и подтвердить, что он хочет войти в систему:

Приложения

Telegram поддерживают эти кнопки начиная с версии 5.7.

Пример бота: @discussbot

Поле Тип Описание
url Строка URL-адрес HTTP, который должен быть открыт с данными авторизации пользователя, добавленными в строку запроса при нажатии кнопки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *