Приведу несколько примеров просто. Дальше сам попробуй.
Библиотека: Aiogram
Для получения реферальной ссылки:
await bot.send_message(message.from_user.id, f"https://t.me/Movies_films_bot?start={message.from_user.id}")
Для реакции на реф.код:
@dp.message_handler(commands=["start"])
async def start(message: types.Message):
ref_code = message.text[7:]
if ref_code != "": # Если есть реферальный код
await bot.send_message(message.from_user.id, f"Ты был приглашен {message.from_user.id}") # Сообщение пользователю
await bot.send_message(ref_code, f"У тебя новый реферал") # Сообщению реферу (Тот кто пригласил)
else: # Если нет реферального кода
await bot.send_message(message.from_user.id, f"Тебя не приглашал реферал!")