首页 > 解决方案 > 使用 sendDocument 方法将文件发布到机器人

问题描述

我正在尝试将 html 文档发送到使用requestspython 的机器人。

url = 'https://api.telegram.org/bot******/sendDocument'
response = requests.post( url = url, 
                          data = { 'chat_id' : chat_id, 
                                   'document': open('/home/user/page.html', 'rb'),
                          }
           )

我明白了<Response [400]>。我点击了这个链接,并能够使用curl但不使用将 html 文档发布到机器人requests

我在这里做错了什么。

标签: pythonpython-3.xpython-requestsbotstelegram

解决方案


以下是使用电报机器人 API 发送本地文档的方法

import requests

BOT_TOKEN = " ... "
CHAT_ID = " ... "

url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendDocument"


response = requests.post(url=url,
                         data={
                             'chat_id': CHAT_ID,
                             'document': 'attach://file',
                         },
                         files={
                             'file': open('./page.html', 'rb'),
                         }
                      )

print(response.json())

推荐阅读