Задать вопрос
  • Есть ли метод в telegramBotAPI, который позволит добавить текст, фото и inline-клавиатуру ОДНОВРЕМЕННО?

    @Yuri_Ananiev Автор вопроса
    Wispik, я правильно понял: вместо bot.edit_message_text нужно использовать edit_message_caption ?
    Можно ли какой-нибудь пример для наглядности ?
  • Есть ли метод в telegramBotAPI, который позволит добавить текст, фото и inline-клавиатуру ОДНОВРЕМЕННО?

    @Yuri_Ananiev Автор вопроса
    Wispik, я лишь хотел, чтобы вместе с текстом и клавиатурой выводилась картинка (чтобы было не так серо и "по-механически"), а у меня получается так: либо текст с клавиатурой, но без фото, либо текст с фото, но клавиатура не срабатывает и выскакивает ошибка, описанная выше (edit_message_caption пробовал).
  • Есть ли метод в telegramBotAPI, который позволит добавить текст, фото и inline-клавиатуру ОДНОВРЕМЕННО?

    @Yuri_Ananiev Автор вопроса
    theurs,

    text = '<b>Тут будет текст главного меню</b>'
    
    
    def start_keyboard():
        keyboard = InlineKeyboardMarkup()
        button_1 = types.InlineKeyboardButton(' Поиск', callback_data='search')
        button_2 = types.InlineKeyboardButton(' История запросов', callback_data='history')
        button_3 = types.InlineKeyboardButton('⚙️ Помощь', callback_data='help')
        keyboard.add(button_1)
        keyboard.add(button_2)
        keyboard.add(button_3)
        return keyboard
    
    
    def search_keyboard():
        keyboard = InlineKeyboardMarkup()
        button_1 = types.InlineKeyboardButton(' Поиск по названию', callback_data='name_search')
        button_2 = types.InlineKeyboardButton(' Поиск по рейтингу', callback_data='rating_search')
        button_3 = types.InlineKeyboardButton('⬆️ Поиск фильмов с высоким бюджетом', callback_data='high_budget')
        button_4 = types.InlineKeyboardButton('⬇️ Поиск фильмов с низким бюджетом', callback_data='low_budget')
        button_5 = types.InlineKeyboardButton('⬅️ Назад', callback_data='back_1')
        keyboard.add(button_1)
        keyboard.add(button_2)
        keyboard.add(button_3)
        keyboard.add(button_4)
        keyboard.add(button_5)
        return keyboard
    
    def history_keyboard():
        keyboard = InlineKeyboardMarkup()
        button = types.InlineKeyboardButton('⬅️ Назад', callback_data='back_2')
        keyboard.add(button)
        return keyboard
    
    def help_keyboard():
        keyboard = InlineKeyboardMarkup()
        button = types.InlineKeyboardButton('⬅️ Назад', callback_data='back_3')
        keyboard.add(button)
        return keyboard
    
    @bot.message_handler(commands=['start'])
    def start(message):
    bot.send_message(message.chat.id,
                              text,
                              reply_markup=start_keyboard(),
                              parse_mode = 'html'
                         )
    
    
    @bot.callback_query_handler(func=lambda callback: True)
    def functions(callback):
        if callback.data == 'search':
            bot.edit_message_text(
                text= '<b>Выберите нужный критерий для поиска</b>',
                chat_id=callback.message.chat.id,
                message_id=callback.message.message_id,
                reply_markup=search_keyboard(),
                parse_mode = 'html'
            )
    
    
        elif callback.data == 'back_1':
            bot.edit_message_text(
                text=text,
                chat_id=callback.message.chat.id,
                message_id=callback.message.message_id,
                reply_markup=start_keyboard(),
                parse_mode = 'html'
            )
    
    
        elif callback.data == 'history':
            bot.edit_message_text(
                text='<b>Здесь будет выводиться история просмотров !</b>',
                chat_id=callback.message.chat.id,
                message_id=callback.message.message_id,
                reply_markup=history_keyboard(),
                parse_mode='html'
            )
    
    
        elif callback.data == 'back_2':
            bot.edit_message_text(
                text=text,
                chat_id=callback.message.chat.id,
                message_id=callback.message.message_id,
                reply_markup=start_keyboard(),
                parse_mode='html'
            )
    
    
    
        elif callback.data == 'help':
            bot.edit_message_text(
                text='<b>КАК ПОЛЬЗОВАТЬСЯ БОТОМ ?</b>\n'
                     '\nТут будет написана инструкция по пользованию ботом !',
                chat_id=callback.message.chat.id,
                message_id=callback.message.message_id,
                reply_markup=help_keyboard(),
                parse_mode='html'
            )
    
    
        elif callback.data == 'back_3':
            bot.edit_message_text(
                text=text,
                chat_id=callback.message.chat.id,
                message_id=callback.message.message_id,
                reply_markup=start_keyboard(),
                parse_mode='html'
            )
  • Есть ли метод в telegramBotAPI, который позволит добавить текст, фото и inline-клавиатуру ОДНОВРЕМЕННО?

    @Yuri_Ananiev Автор вопроса
    А можно чуть подробнее (я ещё учусь и всех фишек не знаю) ?