Python TeleBot 媒体编辑

问题描述

人!

所以,我正在使用 PyTelegramBotAPI 并且我需要在我的机器人的消息中编辑媒体(在我的例子中是照片),所以我尝试了这个:

bot.edit_message_media(message_id=M_ID,chat_id=C_ID,media=MY_MEDIA)

如果我尝试从另一条消息传递 message.photo[0].file_id(我的意思是,照片已经在电报服务器上),或者我什至尝试像这样从头开始创建 InputMedia 对象:

new = types.InputMedia
new.media = message.photo[0].file_id

在这两种情况下,如果我打印 file_id,它会显示这个很长的 id 字符串,所以它不会丢失。 但我仍然收到此错误

2020-12-23 08:22:16,889 (__init__.py:489 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: parameter "media" is required"

但我确实设置了媒体参数....有什么问题?

解决方法

好的,我找到了解决方案。 当你传递新媒体时,这样做:

from telebot import types

bot.edit_message_media(message_id=M_ID,chat_id=C_ID,media=types.InputMediaPhoto(file_id))

这有效......哇!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...