python - 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
在这两种情况下,如果我 print 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))
这有效......哇!
推荐阅读
- sorting - 重复数据但行数不同的连续排序
- angularjs - 是否可以选择这个 ng-repeat 块的第一个元素?
- javascript - 字符串和数字之间的Javascript类型转换导致结果不一致
- amazon-web-services - 实例平均 CPU 利用率未显示,但其他所有内容都显示了吗?
- laravel - 如何为 Laravel 8 中生成的 S3 Presigned Url 分配文件大小和文件类型约束
- python - 如何使用 pandas.styler 格式化索引文本数据
- ibm-cloud - Watson Assistant 对话开始不起作用
- html - 如何定位具有焦点状态的锚标签?
- android - Android Studio 代码完成不再起作用
- python - 不同字典的Python排序列表