Реферальная ссылка через бота автораспределения

Доброго времени суток!

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

А то приходится чуть ли не насильно капсом всех в бота вступить заставлять, ввидя допустим мой реф код - "jtefh", я ведь за это тоже бонус получу, друг, прям как и ты!)


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

Автор решения: Михаил Ребров

Для этого используют механизм Deep Linking

https://core.telegram.org/bots#deep-linking

Вы можете передать в ссылке параметр start

https://t.me/my_awesome_bot?start=jtefh

И перехватить его при обработке команды старт.
В данном случае вам придет сообщение

/start jtefh

Замечание:
Вы не можете передавать произвольные параметры в бот.
Доступны только два варианта start и startgroup
При использовании startgroup пользователь сначала должен будет добавить бота в группу

Обработать его можно следующим образом

import telebot

bot = telebot.TeleBot('TOKEN')


def extract_referral_code(text):
    # Извлекает код присланный в команде start
    return text.split()[1] if len(text.split()) > 1 else None

# обрабатываем команду старт
@bot.message_handler(commands=['start'])
def send_welcome(message):
    # получаем реферальный код
    referral_code = extract_referral_code(message.text)
    if referral_code:  # если команда '/start' содержала реферальный код  
        # обработка реферального кода
        # ...
    else:
        # обработка обычного сообщения
        # ...
    bot.reply_to(message, reply)


bot.infinity_polling()
→ Ссылка