В чём разница между API token и API id, hash?

Рейтинг: 1Ответов: 1Опубликовано: 20.07.2023

Пытаюсь написать своего телеграм-бота через библиотеку pyrogram. Для того чтобы подключиться к боту и управлять им, необходимо предоставить API token, API id и API hash, как показано ниже (пример взят отсюда):

from pyrogram import Client

api_id = 12345
api_hash = "0123456789abcdef0123456789abcdef"

app = Client("my_account", api_id=api_id, api_hash=api_hash)

app.run()

Если токен понятно откуда брать и зачем он нужен, то вот c id и hash возникают затруднения. Откуда их брать я узнал в интернете. А вот зачем они нужны, для чего используются? Если это какие-то артефакты моего телеграм бота, почему они сразу не выдаются с токеном?

Ответы

▲ 1Принят

В контексте API token я буду понимать Telegram Bot API.

Когда вы создаете бота на платформе Telegram, вы получаете уникальный API token, который является основным инструментом для взаимодействия с API и управления ботом. API token предоставляет доступ к различным методам Telegram Bot API, таким как отправка сообщений, получение обновлений и управление настройками бота. Обычно он передается в HTTP-запросах или используется в библиотеках и SDK для идентификации бота и обеспечения безопасности при вызове API методов.

Pyrogram в свою очередь использует немного другой метод взаимодействия, через MTProto API - это такая штука которая предоставляет возможность разработчикам создавать приложения сторонних разработчиков, которые могут взаимодействовать с Telegram, но он используется не для создания ботов, а для создания клиентских приложений, которые могут работать с Telegram на уровне пользовательского интерфейса. API hash необходим для подтверждения легитимности вашего приложения и безопасности обмена данных между приложением и серверами Telegram.

Чтобы вы не потерялись, я дам вам ссылку для конфигурации собственного приложения Telegram, там же можно и сформировать Api_id и Api_hash https://core.telegram.org/api/obtaining_api_id