Как можно удалить имя пользователя бота из реферальной ссылки после того, как пользователь выберет чат?

Как можно удалить `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: (пример кода).
  • 8 мая 2024 г. 21:10
Ответы на вопрос 2
Вот пример кода на 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)
Похожие вопросы