如何与Telegram API交互

时间:2015-07-05 08:10:47

标签: json http-post asp.net-web-api telegram

在阅读http://core.telegram.org上的大量文档后,我真的很困惑,因为我正在尝试使用Telegram的API。

我已经注册了我的应用程序,并获得了hash_id以及所有这些内容。但我不知道从哪里开始。

之前我曾使用Spotify的API,并且能够使用http://api.spotify.com/v1/method?params:values表格与其进行互动。

我找不到Telegram的API的URL。我也在互联网上搜索了很多,但找不到任何有用的例子。

有没有人知道如何开始使用Telegram的API? 任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:28)

如果您真的想从头开始了解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的作者风格

祝你好运。

答案 1 :(得分:16)

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 (生产)。它们在https://my.telegram.org/apps下提供IP详细信息。

答案 2 :(得分:10)

我一直在寻找一种与 Telegram API (不是有限的bot API)进行交互的快速解决方案,并将其与python项目集成。找到以下python客户端实现,这是一个很大的帮助。希望它可以帮助某人。正如其他人所提到的,电报API很难理解,但是你可以在很短的时间内使用Telethon,而无需了解电报API协议。

  

https://github.com/LonamiWebs/Telethon

安装telethon只需输入:

pip install telethon

这是一个简短的代码,演示了如何轻松地使用API​​打印最近的聊天记录:

enter image description here 这个例子来自telethon github页面。

答案 3 :(得分:1)

使用不依赖于语言的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,
}