Узнать текст Inline кнопки Telebot?

Ссылка скопирована
1 ответ

есть кнопка
@bot.message_handler(commands=['start'])
def first_butn(first_butn):
markup = types.InlineKeyboardMarkup()
btn1= types.InlineKeyboardButton('что-то', callback_data='btn1')
markup.row(btn1)
При нажатии на эту кнопку появляется другая кнопка
@bot.callback_query_handler(func=lambda callback: True)
def check_callback_data(callback):
if callback.data == 'btn1':
markup = types.InlineKeyboardMarkup()
btn2= types.InlineKeyboardButton('что-то тут тоже', callback_data='btn2')
markup.row(btn2)
При нажатии на эту кнопку нужно чтобы вывело text кнопки btn1
Понимаю что я могу поменять callback_data на текст кнопки и тогда смогу вывести, но не хочу так делать

Дополнительно:

но не хочу так делать

Самое простое решение. Чем оно не угодило?

  • Такое как это гавнокод, я конечно новичек, но хотелось бы найти другое решение
  • AivanBorn, тогда смотрите какие данные присылает кнопка в обработчик. Если там нет названия кнопки, то без вариантов.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Стас DB Ответ

    Для того чтобы узнать текст Inline кнопки в Telebot, необходимо использовать метод callback_query в обработчике событий. В этом методе можно получить информацию о нажатой кнопке и, следовательно, ее текст.

    Пример кода на языке PHP:

    $update = json_decode(file_get_contents('php://input'), true);
     
    if (isset($update['callback_query'])) {
        $callback_query = $update['callback_query'];
        $button_text = $callback_query['data'];
     
        // Теперь у вас есть текст нажатой Inline кнопки в переменной $button_text
        // Можно использовать эту информацию для дальнейшей обработки
    }

    $update = json_decode(file_get_contents('php://input'), true); if (isset($update['callback_query'])) { $callback_query = $update['callback_query']; $button_text = $callback_query['data']; // Теперь у вас есть текст нажатой Inline кнопки в переменной $button_text // Можно использовать эту информацию для дальнейшей обработки }

    В данном примере мы получаем данные из входящего запроса и проверяем, есть ли в нем информация о нажатой Inline кнопке. Если она есть, то мы извлекаем текст кнопки и сохраняем его в переменную $button_text.

    Таким образом, используя этот код, вы сможете получить текст нажатой Inline кнопки в Telebot и использовать его для нужных действий в вашем боте.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно