Python 如何从电报机器人接收图像

Python 如何从电报机器人接收图像,python,python-telegram-bot,Python,Python Telegram Bot,无法从我的电报机器人接收图像,尝试以下操作: import telegram from telegram.ext import Updater from telegram.ext import MessageHandler from telegram.ext import Filters def photo_handler(bot, update): file = bot.getFile(update.message.photo.file_id) print ("file_id

无法从我的电报机器人接收图像,尝试以下操作:

import telegram
from telegram.ext import Updater
from telegram.ext import MessageHandler
from telegram.ext import Filters

def photo_handler(bot, update):
    file = bot.getFile(update.message.photo.file_id)
    print ("file_id: " + str(update.message.photo.file_id))
    file.download('photo.jpg')

updater = Updater(token='my token')
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.photo, photo_handler))

运行时没有任何错误

我使用它发送matplotlib生成的图像。你可以根据自己的需要进行调整

import telegram
from telegram.bot import Bot
import yachain
import cStringIO
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np

cfg = yachain.Config().load("telegram.cfg")

token = cfg["token"]
chat_id = cfg["chatID"]

bot = Bot(token=token)

y = [2,4,6,8,10,12,14,16,18,20]
x = np.arange(10)
fig = plt.figure()
ax = plt.subplot(111)
ax.plot(x, y, label='$y = numbers')
plt.title('Legend inside')
ax.legend()
#plt.show()

buffer = cStringIO.StringIO()
fig.savefig(buffer, format='png')

buffer.seek(0)
bot.send_photo(chat_id=chat_id,
               photo=buffer)

关于如何接收照片,而不是如何发送照片的问题是的,我在发布后注意到了这一点。我对此发表了评论,但那评论已经不见了。有人能帮我解决这个问题吗?我已经回答了这个问题。photo_处理程序中的第一行必须是file=bot.getFile(update.message.photo[-1].file_id)。@dev4Fun,如果要向电报发送多个图像,该怎么办?我们如何处理这种情况?