pytelegrambotapi отправка фото по кнопке

Пытаюсь написать телеграмм бота. Столкнулся с проблемой, что не понимаю, как отправить фото по нажатию на кнопку, был бы благодарен, если бы объяснили, как это можно сделать, читал документацию, но всё равно ничего не выходит, отправляет мне только надпись кнопки, а должно отправляться фото, по нажатию на кнопку КОТИКИ.введите сюда описание изображения

Вот пример кода:

import telebot
import config
import random

from telebot import types

bot = telebot.TeleBot(config.TOKEN)

@bot.message_handler(commands=['start'])
def welcome(message):
    sti = open('static/welc.webp', 'rb')
    bot.send_sticker(message.chat.id, sti)

    # keybord
    markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
    item1 = types.KeyboardButton("? Рандомное число")
    item2 = types.KeyboardButton("? Как дела?")
    item3 = types.KeyboardButton("? КОТИКИ")

    markup.add(item1, item2, item3)

    bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ — <b>{1.first_name}</b>, бот созданный в развлекательных целях, который не несет смысловой нагрузки.".format(message.from_user, bot.get_me()), 
        parse_mode = 'html', reply_markup = markup)

@bot.message_handler(content_types=['text'])
def lalala(message):    
    if message.chat.type == 'private':
        if message.text == '? Рандомное число':
            bot.send_message(message.chat.id, str(random.randint(0,100)))
        elif message.text == '? Как дела?':
            markup = types.InlineKeyboardMarkup(row_width=2)
            item1 = types.InlineKeyboardButton("Благостно", callback_data='good')
            item2 = types.InlineKeyboardButton("Не благостно", callback_data='bad')

            markup.add(item1, item2)

            bot.send_message(message.chat.id, 'Благостно, твои как, {0.first_name}?'.format(message.from_user), reply_markup = markup)

        elif message.photo == 'open':
            bot.send_photo(message.chat.id, get("img/kot1.png").content)

            #file_id = "img/kot1.png"
            #bot.send_photo(message.chat.id, file_id)

        else:
            bot.send_message(message.chat.id, message.text)
bot.polling(none_stop=True)


Ответы (2 шт):

Автор решения: Za.kosh

Думаю это должно вам помочь.

elif message.text == '? КОТИКИ':
bot.send_photo(message.chat.id, open('photo.jpg', 'rb'))
→ Ссылка
Автор решения: D. Violet
@bot.message_handler(commands=['start'])
def keyboard():
  start_keyboard = types.InlineKeyboardMarkup()
  menu = types.InlineKeyboardButton(text='Наше меню', callback_data='menu')
  start_keyboard.add(menu)
  bot.send_message(message.chat.id, 'нажми на кнопку', reply_markup=start_keyboard)

@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
  if call.data == 'menu':
        with open('./files/menu/bar.jpg', 'rb') as f1, open('./files/menu/kitchen.jpg', 'rb') as f2:
             bot.send_media_group(call.message.chat.id, [InputMediaPhoto(f1), InputMediaPhoto(f2)])
→ Ссылка