Реферальная система aiogram

Как проверять является ли ссылка реферальной и как из неё достать ID того кто пригласил? Aiogram 3


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

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

В aiogram есть Command и CommandStart фильтры, куда можно указать "магию" для проверки аргументов команды (см. раздел Magic filters).

Пример:

from aiogram.filters import CommandStart, CommandObject

@router.message(CommandStart(magic=F.args.cast(int)))
async def referral_start(message: Message, command: CommandObject) -> Any:
    referral_id: int = int(command.args)
    return message.answer("Referral ID is: {id}".format(id=referral_id))
    

Очень рекомендую дополнительно ознакомиться с разделом документации Deep Linking.

→ Ссылка