Задать вопрос

Как отследить нажатие кнопки InlineKeyboard при использовании параметра url без callback?

Недавно просто хотел создать кнопку с url, и для ослеживания её нажатия использовать callback_data, что-то по типу types.InlineKeyboardButton(text='Нажми', url = 'https://example.com', callback_data = 'test'), но проблема в том, что при нажатии хоть и вылазит окно, о предложении перейти по ссылке, но буд-то не идёт.
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
	if call.data == 'test':
		print('Нажата кнопка')


Вся картина

@bot.message_handler(content_types=['text'])
def start(message):
	if message.text.lower() == '/test':
		keyboard = types.InlineKeyboardMarkup()
		key_note = types.InlineKeyboardButton(text='Нажми', url = 'https://example.com', callback_data = 'test')
		keyboard.add(key_note)
		bot.send_message(message.from_user.id, 'Нажми.', reply_markup = keyboard)
		@bot.callback_query_handler(func=lambda call: True)
		def callback_worker(call):
			if call.data == 'test':
				print('Нажата кнопка')

  • Вопрос задан
  • 1341 просмотр
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Открываем документацию и видим, что там жирным написано, что можно выбрать только один аргумент

https://core.telegram.org/bots/api#inlinekeyboardbutton
This object represents one button of an inline keyboard. You must use exactly one of the optional fields.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы