我们应该如何向Telegram bot API发送查询?

时间:2015-07-03 02:45:48

标签: api telegram telegram-bot

创建电报机器人并获得机器人令牌后,我想向机器人API发送请求。

This link说我们必须发送HTTP请求,如下所示: https://api.telegram.org/bot<token>/METHOD_NAME并为最简单的方法“getme”提供示例,该方法没有任何输入参数。

想象一下,我想发送一些消息。我应该使用sendMessage方法,它有两个必需的输入参数:chat_ID和text。

现在我的问题开始了:

  1. 如何使用上述请求格式及其参数编写此sendMessage方法?我尝试了sendMessage(param1,param2)并收到了找不到方法的消息。

  2. 什么是chat_id?如果我想向联系人发送消息,我怎么知道他的chat_id

  3. 我在互联网上搜索了很多,GitHub上有很多项目,特别是为了这个目的,老实说,没有一个是有道理的。 为了上帝的缘故,请有人帮助我。我正在失去方向。

    问候。

2 个答案:

答案 0 :(得分:28)

您只需发送一个POST请求:

https://api.telegram.org/bot{token}/{method}

例如:

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

在请求正文中,您对参数进行URL编码:

chat_id=12345&text=hello%20friend

例如,在Python中使用requests模块:

import requests

response = requests.post(
    url='https://api.telegram.org/bot{0}/{1}'.format(token, method),
    data={'chat_id': 12345, 'text': 'hello friend'}
).json()

当用户与您的机器人聊天时,您会得到一个Message object,其中包含聊天ID(以及用户ID,您可以用其替换聊天ID)。除非您已经知道他们的用户ID,否则无法与用户进行聊天,因此您必须等待用户与您通话。您可以使用deep linking并让用户在点击“开始”按钮时单击发送预制消息的链接来简化该操作。

答案 1 :(得分:4)

试试这个

input[id$=DELETE]

实施例

id=eventinstance_set-*-DELETE