Скрыть ссылку на инлайн кнопке телеграм бота

есть ли способ скрыть ссылку (url) в инлайн кнопке телеграмма или может быть какой то обходной путь? Вот мой код:

async def genmarkup_year(date_formation, url):
    markup = InlineKeyboardMarkup()
    markup.row_width = 2
    unique_dates = set()
    buttons = []
    for row in date_formation:
        date_obj = s.datetime.strptime(row, "%d.%m.%Y")
        year = date_obj.year
        if year not in unique_dates:
            unique_dates.add(year)
            buttons.append(InlineKeyboardButton(year, callback_data=str(year)))
    markup.add(*buttons)
    if url is not None:
        response = requests.get(url)
        if response.status_code == 200:
            markup.add(InlineKeyboardButton("Открыть ссылку", url=url))
    return markup

Что бы при нажатии на клавишу, ссылка открывалась, но при наведении на клавишу мышки, ссылка не вылезала и нельзя было сделать так: правой кнопкой мыши щелкнуть на инлайн кнопке в телеграмме и не было меню "Скопировать ссылку". Помогите пожалуйста))


Ответы (1 шт):

Автор решения: dofi4ka

Полностью скрыть ссылку невозможно, при отправке сообщения с кнопкой-ссылкой ты сразу же отправляешь и URL, дальше клиент телеграмма (получатель сообщения) может делать с этой ссылкой что угодно и контролировать эти действия через бота никак не получится

Если вам нужно скрыть содержание оригинального URL, то можете использовать сервисы для укорочения ссылки, например, Яндекс Кликер

Если вам нужно отслеживать нажатие, то вместо URL-кнопок лучше использовать обычные callback-кнопки и при нажатии, например, отправлять ссылку в личные сообщения

→ Ссылка