问题描述
人!
所以,我正在使用 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))
这有效......哇!