MinTnt
@MinTnt

Как отследить нажатие кнопки 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('Нажата кнопка')

  • Вопрос задан
  • 31 просмотр
Решения вопроса 1
SoreMix
@SoreMix
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.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы