如何在电报机器人中接收文件,对其进行处理并将其发送回用户?

真的很焦虑

我需要从用户那里得到一个文件,下载它,传递给一个函数来处理它,然后把它发回给用户。

我已经多次阅读文档,但我仍然不明白如何获取 file_id 并使用它。

这是我尝试过的回声代码。它显示一个 TypeError: 'NoneType' object is not subscriptable on the fileID 行。

    update.message.reply_text('give a file')
    chat_id = update.message.chat_id
    fileID = update.message['document']['file_id']
    context.bot.sendDocument(chat_id = chat_id,
                             caption = 'This is the file that you have sent to bot',
                             document = fileID)
不要投反对票

像这样接收您的文件::

from telegram.ext import Updater, MessageHandler, Filters

BOT_TOKEN = ' ... '

def downloader(update, context):
    context.bot.get_file(update.message.document).download()

    # writing to a custom file
    with open("filename", 'wb') as f:
        context.bot.get_file(update.message.document).download(out=f)


updater = Updater(BOT_TOKEN, use_context=True)

updater.dispatcher.add_handler(MessageHandler(Filters.document, downloader))

updater.start_polling()
updater.idle()

--now 像这样发回文件:

   import requests
    files= { 'file' : open('filepath','rb')}
    
    resp = requests.post('https://api/telegram.org/bot<<token>>/sendfile?chat_id=<>',files=files)
    
    #check response 
    print(resp.status_code)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在电报机器人中发送字符?

如何在电报机器人中显示选项?

如何在电报机器人中创建链接

如何在电报机器人中传递键盘动态?

如何在电报机器人中创建“方法”

如何从 url 在电报机器人中发送 exe 文件

如何在电报机器人中发送视频笔记?

如何在电报机器人中发送空消息?

获取自定义输入并将其存储在电报机器人中的MySQL中

在电报机器人中发送照片的问题

如何使用 python 在电报机器人中发送数据帧表

如何摆脱电报机器人中的盘旋小丑青蛙?

如何捕获电报机器人中的任何错误?

如何在电报机器人中传递键盘的动态按钮值?

我如何在电报机器人中找到Webhook地址?

如何通过电报机器人发送PIL图像而不将其保存到文件中

电报机器人错误:我无法发送其用户名

在用户对电报机器人进行有效答复之前,如何重复执行功能和处理程序?

朗文电报机器人处理用户输入

node js - 如何保存从电报机器人接收到的文件

如何使用我的电报机器人通过用户名向某人发送消息

在带有图像的电报机器人中发送消息

在电报机器人中以内联模式发送本地照片

如何安排电报机器人发送消息?

机器人中的电报操作后如何处理用户消息?

电报机器人,如何请求用户输入?

电报机器人。如何在用户文本输入中设置命令/ cmd?

电报机器人发送消息

如何在机器人消息电报机器人之后从用户那里获取消息更新