【问题标题】:How to send BytesIO image through Telegram bot when user chooses command?用户选择命令时如何通过 Telegram bot 发送 BytesIO 图像?
【发布时间】:2022-08-14 16:14:13
【问题描述】:

我正在尝试制作一个电报机器人(python-telegram-bot),它发送我在网上抓取、组合并从另一个脚本转换为字节的图像。现在的问题是我不确定如何调用图像对象并通过电报脚本发送它。

def weather_command(update,context):
    chat_id = update.message.chat_id
    document = NEAData.weatherimage()
    context.bot.send_document(chat_id,document)

有没有更简单或更好的方法来做到这一点?

  • 电报文件怎么说?
  • 我知道如何阅读它。我正在使用电报.ext
  • 你收到错误信息还是什么?代码似乎还可以。 NEAData 是什么?

标签: python python-telegram-bot bytesio


【解决方案1】:

能够自己解决。我没有将图像放在字节对象中,而是首先在 NEAData(运行网络抓取和图像组合的脚本)中组合 PNG 中的图像。然后我在 Telegram 脚本(主脚本)中调用图像然后转换它成字节通过机器人发送。

def weather_command(update,context):
    with BytesIO() as image:
        NEAData.image.save(image, "png")
        image.seek(0)
        update.message.reply_photo(image)

【讨论】:

    猜你喜欢
    • 2019-11-18
    • 2021-09-14
    • 1970-01-01
    • 2021-08-22
    • 2019-08-23
    • 2018-10-13
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多