将带有POST请求的文件发送到TelegramBot

时间:2019-10-12 08:28:56

标签: python json python-3.x telegram-bot

我想使用post方法发送文件,但是我不知道我的代码有什么问题 我有chat_id,file_id和每个需求参数 这是用于通过POST请求发送语音的示例代码

import requests

my_data = {'chat_id': '72600457' ,'file_id': 'AwADBAADPAYAAvFWCVFZFfPyZdGLfhYE'}
my_url = 'https://api.telegram.org/bot<MY TOKEN>/sendVoice'
request.post(url=my_url, data=my_data)

运行代码时,没有错误发生。但是我的机器人没有任何东西; 这个file_id与GET METHOD一起使用,我可以使用POST METHOD发送文本,但是我不知道文件出了什么问题

1 个答案:

答案 0 :(得分:1)

查看sendVoice的文档-它不使用名称file_id而是voice

data = {'chat_id': '72600457', 'voice': 'AwADBAADPAYAAvFWCVFZFfPyZdGLfhYE'}

如果您使用文件ID,则可以使用POST,也可以使用GET

您应该从服务器获得响应,以查看有关错误请求的信息

import requests

token = '<MY TOKEN>'

data = {'chat_id': '72600457', 'voice': 'AwADBAADPAYAAvFWCVFZFfPyZdGLfhYE'}
url = f'https://api.telegram.org/bot{token}/sendVoice'

#response = requests.post(url, data=data)
response = requests.get(url, params=data)

print(response.json())

顺便说一句:有模块python-telegram-bot。 GitHub:python-telegram-bot