创建电报机器人并获得机器人令牌后,我想向机器人API发送请求。
This link说我们必须发送HTTP请求,如下所示:
https://api.telegram.org/bot<token>/METHOD_NAME
并为最简单的方法“getme”提供示例,该方法没有任何输入参数。
想象一下,我想发送一些消息。我应该使用sendMessage
方法,它有两个必需的输入参数:chat_ID和text。
现在我的问题开始了:
如何使用上述请求格式及其参数编写此sendMessage方法?我尝试了sendMessage(param1,param2)
并收到了找不到方法的消息。
什么是chat_id
?如果我想向联系人发送消息,我怎么知道他的chat_id
?
我在互联网上搜索了很多,GitHub上有很多项目,特别是为了这个目的,老实说,没有一个是有道理的。 为了上帝的缘故,请有人帮助我。我正在失去方向。
问候。
答案 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