我想使用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发送文本,但是我不知道文件出了什么问题
答案 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