1 - бот отправляет запрос для выбора контента картинок
@bot.message_handler(commands=['start']
def question(message):
markup = types.ReplyKeyboardMarkup()
buttondogs = types.KeyboardButton('dogs')
buttoncats = types.KeyboardButton('cats')
markup.add(buttondogs, buttoncats)
bot.reply_to(message, "Animals", reply_markup=markup)
2 - На основе выбора пользователя выводим доступные картинки
@bot.message_handler(func=lambda message: message in ['dogs', 'cats']
def photo_animals(message):
if message.text == 'dogs':
bot.send_photo(message.chat.id, dog_photo_file_id, reply_to_message_id=message.message_id)
if message.text == 'cats'
bot.send_photo(message.chat.id, cat_photo_file_id, reply_to_message_id=message.message_id)
..._photo_file_id = уникальный идентификатор фотографии Его значение можно получить с помощью данной функции:
@bot.message_handler(content_types=['photo'])
def photo_field_id(message):
print(message.photo[0].file_id)
Мы можем отправлять фотографии с помощью встроенной функции
open, но сами разработчики телеграмма рекомендуют использовать file_id
Pass a file_id as String to send a photo that exists on the Telegram servers (recommended)
Это самая простая реализация бота, как Вы реализуете зависит от Вашей фантазии.
Полезные ссылки :
https://core.telegram.org/bots/api
https://github.com/eternnoir/pyTelegramBotAPI