python - 如何将文档或照片上传到电报机器人,以便仅在调用回调查询后进行下载?
问题描述
我正在尝试在 pytelegrambotAPI 上创建一个机器人。
这个想法是这样的:用户输入文档编号并从数据库中收到一条消息,其中包含有关文档的信息和使用键盘的reply_markup,其中一个按钮是上传已完成文档的照片。我怎样才能在单击此按钮后才能接收文档的照片?
我尝试了什么:
装饰师:
@bot.message_handler(content_types=['document'])
无论reply_markup如何,始终使用它拍摄照片。
我试图这样做:
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == 'send_photo':
bot.send_message(call.message.chat.id, 'Загрузите фото документа')
file_info = bot.get_file(call.message.document.file_name)
downloaded_file = bot.download_file(file_info.file_path)
然后抛出异常:
AttributeError: 'NoneType' object has no attribute 'file_name'
我怎样才能做到这一点?
解决方案
推荐阅读
- telegram-bot - ModuleNotFoundError:没有名为“电报”的模块
- jekyll - Item.Image 未在 Jekyll 中显示
- node.js - app.auth(...).signInWithCredential 不是函数 firebase 错误
- c++ - 使用在每种类型的可变参数模板上模板化的类初始化元组
- python-3.x - 想要在特定列中添加与其他列相比的字段值
- objective-c - 使用 NSURLSessionDataTask 进行线程处理
- mongodb - MongoDB 文档设计决策
- java - 为 java 类名中的非标准字符启用 Intellij IDEA 支持
- java - Java FizzBuzz 1 行
- python - on_mouse_down 调用每个按钮(甚至滚轮移动)