Levman5
@Levman5
print(“Hello World!”)

Как получить текст на инлайн кнопке в pytelegrambotapi?

Здравствуйте, как мне получить текст написанный на инлайн кнопке в pytelegrambotapi?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
jerwright
@jerwright
while True: coding()
Всё зависит от задачи. Если вам нужен текст кнопки, на которую нажал пользователь, то код будет следующим (в таком случае у кнопки обязательно должен быть параметр callback_data, иначе мы не сможем получить уникальное название кнопки):
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    if call.message:
        for row in call.message.json['reply_markup']['inline_keyboard']:
            if call.data==row[0]['callback_data']:
                print(f'Текст на нажатой кнопке: {row[0]["text"]}')


Если вам нужен текст каждой кнопки сообщения, то условие с call.data не имеет смысла:
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    if call.message:
        for row in call.message.json['reply_markup']['inline_keyboard']:
            print(row[0]['text'])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
30 нояб. 2021, в 21:47
1000 руб./за проект
30 нояб. 2021, в 21:47
1000 руб./за проект
30 нояб. 2021, в 21:14
5000 руб./за проект