Как отправить фото при нажатии на кнопку. Кнопка "Начать тренировку"?

import telebot
from telebot import types

bot = telebot.TeleBot('')

@bot.message_handler(commands=["start"])
def start(message):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    keyboard.add(*[types.KeyboardButton(name) for name in ['Начать заниматься?']])
    keyboard.add(*[types.KeyboardButton(name) for name in ['Программа для занятий в зале']])
    keyboard.add(*[types.KeyboardButton(name) for name in ['Наша группа спорта?️‍']])
    keyboard.add(*[types.KeyboardButton(name) for name in ['Наши проекты?']])
    keyboard.add(*[types.KeyboardButton(name) for name in ['Пожелания?']])
    bot.send_message(message.chat.id, 'Выберите действие', reply_markup=keyboard)

@bot.message_handler(content_types=['text'])
def hundle_text(message):
    if message.text == 'Начать заниматься?':
        keyboardgostart = types.ReplyKeyboardMarkup(resize_keyboard=True)
        keyboardgostart.row('Спортивный зал?')
        keyboardgostart.row('Улица?')
        keyboardgostart.row('Назад')
        bot.send_message(message.chat.id, 'Выберите место тренировки', reply_markup=keyboardgostart)

    elif message.text == 'Спортивный зал?':
        zal = types.ReplyKeyboardMarkup(resize_keyboard=True)
        zal.row('Плечи, Грудь?')
        zal.row('Спина, Бицепс?')
        zal.row('Ноги?')
        zal.row('Назад')
        bot.send_message(message.chat.id, 'Выберите, что хотите тренировать', reply_markup=zal)

    elif message.text == 'Плечи, Грудь?':
        plesandgrud = types.ReplyKeyboardMarkup(resize_ketboard=True)
        plesandgrud.row('Начать тренировку')
        bot.send_message(message.chat.id, 'Как будите готовы нажмите на кнопку "Начать тренировку"')

    elif message.text == 'Начать тренировку':

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

Автор решения: Edward Grachev

Вот так можно отправить аудио:

with open(audio_file_patch, 'rb') as file:
     audio = file.read()
     file_id = dict(bot.send_audio(message.chat.id, title=title, audio=audio, duration=duration, reply_markup=keyboard))

Фото вроде:

with open(photo_file_patch, 'rb') as file:
    photo = file.read()
    file_id = dict(bot.send_photo(message.chat.id, photo=photo))

В файл id сохраняем ид файла что бы каждый раз его не загружать на сервер, а говорить серверу какой файл нужно отправить:

bot.send_audio(message.chat.id, 'Тут id файла который уже загружали на сервер')

Если фото по ссылке в интернете:

bot.send_photo(message.chat.id, photo='ссылка на фото')

Прочитай подробнее про: bot.send_photo

Если отправляете файл с компа, то лучше откройте его для чтения в 'rb' и отправляйте , не забудьте только закрыть после отправки file.close()

→ Ссылка