Как можна реализовать чтобы бот кидал картинку которою дал ему пользователь в приватный чат, но чтобы под картинкой были кнопки, например кнопки:Одобрить и Отказать, и если я нажал на любую кнопку и после етого бот отправил сообщение пользователю что картинка не подходит или подходит?
Это всё не так просто как кажется и нужно построить правильную структуру.
Хотя.., на самом деле всё не так сложно, сначала делаем хендлер на фото, далее при помощи forward передаём текст, вместе с картинкой, приделывая к нему inline клавиатуру, и настраивая Callback с привязкой к какой-то основной инфе, как хороший варянт это называть callback по типу "одобрить/id пользователя/id сообщения" и тд важная инфа.
Далее настраиваем хандлер для call.data, и из получаемого запроса достаём всю нужную инфу. Как варянт, так же приделать edit message к call.message.id, чтоб убирало кнопки после нажатия. Далее из самой call.data Получаем, "Отказ" или "Одобрение", а далее ID пользователя и id сообщения с картинкой.
Далее настраиваем, чтоб сам бот писал на полученный id пользователя reply to message (привязывая к ID сообщения), и указываем выбранный на "модерации" и переделанный в call.data текст
nazlanmak, почему нельзя? Метод sendPhoto позволяет. Но вообще я предлагал другую систему выше, чтоб не скачивать не ПК фото, для того чтоб потом использовать sendPhoto, использовать forward https://core.telegram.org/bots/api#forwardmessage
nazlanmak, оуу, я тут посмотрел, ошибся чутка. К forward reply markup нельзя прицепить, но для этого подойдёт метод ниже copyMessage, да и выглядить будет естественее
MinTnt, не ну да, я картинку с inline кнопками могу кинуть в чат, но не знаю как ета кнопка нажатая в чате будет связана с ботом, тоисть чтобы чтобы я нажал "Одобрить" и пользователю кинулось сообщение
Андрей Пренрек,
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'good':
bot.send_message(call.message.chat.id, 'Вот и отличненько ')