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

Ali*_*ash 14 api telegram telegram-bot

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

这个链接说我们必须发送这样的HTTP请求: https://api.telegram.org/bot<token>/METHOD_NAME并为最简单的方法"getme"带来示例,该方法没有任何输入参数.

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

现在我的问题开始了:

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

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

我在互联网上搜索了很多,GitHub上有很多项目,特别是为了这个目的,说实话,它们都没有任何意义.为了上帝的缘故,请有人帮助我.我正在失去方向.

问候.

Ble*_*der 29

您只需发送一个POST请求:

https://api.telegram.org/bot{token}/{method}
Run Code Online (Sandbox Code Playgroud)

例如:

https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage
Run Code Online (Sandbox Code Playgroud)

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

chat_id=12345&text=hello%20friend
Run Code Online (Sandbox Code Playgroud)

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

import requests

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

当用户与您的机器人聊天时,您会得到一个具有聊天ID 的Message对象(以及一个用户ID,您可以用它代替聊天ID).除非您已经知道他们的用户ID,否则无法与用户进行聊天,因此您必须等待用户与您通话.您可以通过使用深层链接并让用户单击在按下"开始"按钮时发送预制消息的链接来简化该操作.

  • @AliCrash:Telegram API与Telegram Bot API无关.它甚至不是通过HTTP,它是一个自定义协议. (2认同)

小智 5

尝试这个

https://api.telegram.org/bot{token}/sendMessage?chat_id=<chat_id>&text=<Enter your text here>
Run Code Online (Sandbox Code Playgroud)

https://api.telegram.org/bot449123456:AAHSAnSGDm8PW2Z-1ZiwdVDmgv7sM3NMTxg/sendMessage?chat_id=311911234&text=Hi+Everyone
Run Code Online (Sandbox Code Playgroud)