Как взаимодействовать с Telegram API

Я действительно запутался, пытаясь использовать API Telegram после прочтения большого количества документации на http://core.telegram.org/.

Я зарегистрировал свое приложение и получил hash_id и все такое. Но я не уверен, с чего начать.

Я раньше работал с API Spotify и смог взаимодействовать с ним с помощью формы http://api.spotify.com/v1/method?params:values.

Я не могу найти URL для API Telegram. Я также много искал в Интернете, но не смог найти полезных примеров.

Кто-нибудь знает что-нибудь о том, как начать работать с Telegram API? Любая помощь будет оценена.

7 ответов

Решение

Если вы действительно хотите понять разработку Telegram API с нуля. Мой совет будет следовать инструкциям здесь

https://core.telegram.org/mtproto/auth_key

и здесь

https://core.telegram.org/mtproto/samples-auth_key

Попробуйте успешно сгенерировать AuthKey.

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

Я изложил основы для вас, чтобы начать в этом SO посте.

Кроме того, я думаю, что онлайн-документация по API не так хорошо написана, но, следуя вышеприведенному пошаговому описанию документации API, просто для генерации AuthKey, вы познакомитесь с языком и стилем написания авторов API.

Удачи.

Telegram API не так прост в использовании, как обычный HTTP / Rest API, вы должны взаимодействовать с их протоколом MTProto. Вы также должны сделать все виды шифрования и дешифрования. Telegram недавно выпустил новый Bot API, который абстрагирует все сложности, стоящие за достойным HTTP API. Пример использования в NodeJS с использованием https://github.com/arcturial/telegrambot:

var TelegramBot = require('telegrambot');
var api = new TelegramBot('<YOUR TOKEN HERE>');

api.getUpdates({ offset: 0 }, function (err, updates) {
    // array of message updates since last poll
    console.log(updates);
});

api.sendMessage({ chat_id: 0, text: 'test' }, function (err, message) {
    // the chat_id is the id received in the getUpdates() call
});

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

https://telegram.me/triviabot?start=payload

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

Я знаю, что это не дает прямого ответа на ваш вопрос, но из личного опыта я обнаружил, что лучше взаимодействовать с Bot API, чем пытаться реализовать все тонкости, необходимые для нормального API. Если вы непреклонны в использовании их обычного API, IP-адреса будут 149.154.167.40:443 (тест) и 149.154.167.50:443 (производство). Они предоставляют информацию об IP по https://my.telegram.org/apps.

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

https://github.com/LonamiWebs/Telethon

Чтобы установить telethon, просто наберите:

pip install telethon

Вот краткий код, демонстрирующий, насколько легко вы можете использовать API для печати последних чатов:

Пример взят со страницы github telethon.

Отличный способ использования Telegram API, не зависящий от языка, - это использовать https://www.t-a-a-s.ru/. Вам не нужно ничего устанавливать - вы можете сделать запрос просто через HTTP-запрос.

  1. Войдите и создайте ключ API
  2. Используя ключ, сделайте следующий HTTP-запрос, чтобы получить историю чата
GET https://www.t-a-a-s.ru/client
{
  "api_key": "YOUR_API_KEY",
  "@type": "getChatHistory",
  "chat_id": "xxxxxxxxxxx",
  "from_message_id": '0',
  "offset": 0,
  "limit": 100,
}

Для программистов .NET теперь есть WTelegramClient, который позволяет вам вызывать клиентские API Telegram (подключаясь как пользователь, а не как бот).

Библиотека очень полная, но и очень простая в использовании. Следуйте README на GitHub для простого ознакомления.

Для этого требуется постоянное соединение, но его можно интегрировать в веб-сайт ASP.net. См. этот FAQ, он содержит пример веб-сайта.

Для любых пользователей javascript используйте пакет телеграммы в npm

      npm install telegram

Запрос извлечен из " https://github.com/arcturial/telegrambot" с целью отправки сообщения:

POST /botTOKEN:TOKEN/sendMessage HTTP/1.1
Host: api.telegram.org
Accept: application/json
Content-Type: application/json
Cache-Control: no-cache

{ "chat_id": "CHAT_ID", "text": "Text" }
Другие вопросы по тегам