Как можно удалить `username` бота из ссылки, которая отображается после выбора чата? Например, из "<a href="https://t.me/Bot?start=1" rel="nofollow">https://t.me/Bot?start=1</a>". Нужно удалить все до ссылки так, чтобы результат был "<a href="https://t.me/Bot?start=1" rel="nofollow">https://t.me/Bot?start=1</a>". Вот функция из библиотеки Telebot: (пример кода).
Вот пример кода на Python, который удаляет `username` бота из ссылки после выбора чата: ```python import re def remove_bot_username_from_referral_link(link): pattern = r'<a href=".*?/\?(start=.*)" rel="nofollow">(.*?)</a>' match = re.search(pattern, link) if match: return f'<a href="{match.group(1)}" rel="nofollow">{match.group(2)}</a>' return link # Пример использования referral_link = '<a href="https://t.me/Bot?start=1" rel="nofollow">https://t.me/Bot?start=1</a>' result_link = remove_bot_username_from_referral_link(referral_link) print(result_link) ``` Этот код использует регулярные выражения для поиска и удаления `username` бота из ссылки. В результате вы получите ссылку без `username` бота.
Решилось через обычный url:
ref_link = 'https://t.me/share/url?url=https://t.me/{}?start={}'\ @bot.message_handler(commands = ['invite']) def inv(message): markup = types.InlineKeyboardMarkup() bot_name = bot.get_me().username switch_button = types.InlineKeyboardButton(text='Пригласить друга', url=ref_link.format(bot_name, message.chat.id)) markup.add(switch_button) bot.send_message(message.chat.id, "Выбрать чат", reply_markup = markup)