Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/149: Рейтинг темы: голосов - 149, средняя оценка - 4.56
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399

Telegram bot: как обработать нажатую инлайн-кнопку?

21.12.2017, 18:50. Показов 30923. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый!
Подскажите пожалуйста: как обработать нажатую инлайн-кнопку?
Т.е., если нажали на 1-ю кнопку, то должно вывестись сообщение о том, что нажали на 1-ю кнопку...

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import telebot
 
@bot.message_handler(commands=['help'])
def command_help(m):
    cid = m.chat.id
    keyboard = types.InlineKeyboardMarkup()
    kb1 = types.InlineKeyboardButton(text="1-ая кнопка", callback_data="text1")
    kb2 = types.InlineKeyboardButton(text="2-ая кнопка", callback_data="text2")
    keyboard.add(kb1, kb2)
    msg = bot.send_message(cid, "Список:", reply_markup=keyboard)
    bot.register_next_step_handler(msg, ans)
 
def ans(m):
    cid = m.chat.id
    if (m.text == "kb1"):
        bot.send_message(cid, "Нажали на 1-ю кнопку")
    elif (m.text == "kb2"):
        bot.send_message(cid, "Нажали на 2-ю кнопку")
Добавлено через 19 часов 58 минут
Разобрался

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@bot.message_handler(commands=['help'])
def command_help(m):
    cid = m.chat.id
    keyboard = types.InlineKeyboardMarkup()
    kb1 = types.InlineKeyboardButton(text="1-ая кнопка", callback_data="text1")
    kb2 = types.InlineKeyboardButton(text="2-ая кнопка", callback_data="text2")
    keyboard.add(kb1, kb2)
    msg = bot.send_message(cid, "Список:", reply_markup=keyboard)
 
@bot.callback_query_handler(func=lambda c:True)
def ans(c):
    cid = c.message.chat.id
    keyboard = types.InlineKeyboardMarkup()
    if c.data == "text1":
        bot.send_message(cid, "Нажали 1-ю кнопку", reply_markup=keyboard)
    elif c.data == "text2":
        bot.send_message(cid, "Нажали 2-ю кнопку", reply_markup=keyboard)
Добавлено через 13 минут
А если много кнопок будет, можно как-то сократить повторы: kb1 = .. , kb2 = ..., kbn = ... ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2017, 18:50
Ответы с готовыми решениями:

Как к инлайн кнопке Python telegram bot на aiogram сделать выполнение функции другого кода
Я нашел простой пример парсера(код и результат на картинке) и у меня вопрос, как сделать так, что бы этот результат я смог выводить в боте...

Не могу обработать ответ от inline кнопок telegram bot php sdk
Уже довольно долго мучаюсь, не как не получается обработать inline клавиатуру, при нажатии на клавиатуру ничего не происходит ( просто...

Telegram Bot(python-telegram-bot) - InlineButtons и фотографии
Добрый день, делал бота при помощи библиотеки python-telegram-bot и столкнулся с проблемой. Общение с ботом через Inline кнопки и edit...

2
8 / 6 / 2
Регистрация: 29.08.2022
Сообщений: 54
11.09.2022, 10:10
Цитата Сообщение от New Life Посмотреть сообщение
А если много кнопок будет, можно как-то сократить повторы: kb1 = .. , kb2 = ..., kbn = ... ?
через цикл
0
p
 Аватар для hasker2
84 / 44 / 16
Регистрация: 15.01.2021
Сообщений: 433
11.09.2022, 13:43
btn 1 = InlineKeyboardButton(text = '1', callback_data = 'firstbtn')
хендлер для обработки кнопок
Python
1
dp.callback_query_handler(text = 'firstbtn')
в text нужно записать колбек дату нужной кнопки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2022, 13:43
Помогаю со студенческими работами здесь

Telegram API (НЕ Telegram Bot API!) - как правильно спарсить все сообщения в чате?
Здравствуйте. Мне нужно выдрать все сообщения в определенном чате. Использую библиотеку TLSharp. Авторизация и т.д. прошли успешно. А...

telegram bot bot.send_media_group +invine
Можно ли каким либо способом при выводе фотографий и текста одним сообщением функцией bot.send_media_group , добавлять инвайн кнопку? ...

Как определить нажатую кнопку?
На рабочем листе Excel (не на форме) расположено N-ое количество управляющих элементов "CommandButton", поставленных на лист из...

Telegram.Bot, как использовать InlineButtons?
Пишу бота для телеграма на ASP .NET Core Web Api, нужно создать Inline кнопки, но проблема в том, что я не знаю, как правильно обрабатывать...

Как отправить сообщение в Telegram.bot?
Мне надо отправить сообщение не когда пользователь отправил сообщение, а когда я захочу. Например пройдет проверка if и потом отправляется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru