Задать вопрос

Как отслеживать подписки и отписки пользователей по реферальным ссылкам?

Пишу бота для мониторинга пользователей каналов. Поставили задачу отслеживать пользователей зашедших по реферальной ссылке и точно знать, если кто-то, из прошедших по ссылке, отписался от канала. В телеге самой видно кто заходил по ссылке, и из списка пропадает человек, если отписывается. Не очень понимаю как реализовать это на протяжении всего времени существования ссылки, без хранения данных в бд, а снимая их прям из апи телеги . Может подскажет кто.
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Mailz_Z Автор вопроса
Ответа не дождался, но сам разобрался. Без записи в бд не выйдет, но хоть так можно вести статистику по динамике пользователей. Код ниже.

# Это работает для получения данных пользователя при проходе по ссылке
@router.chat_join_request()
async def on_user_leave(update: ChatJoinRequest): 
    print(update.invite_link.invite_link, 'ССЫЛКА ПО КОТОРОЙ ПРОШЛИ')
    print(update.invite_link)

# Срабатывает, когда отписывается пользователь
@router.chat_member(ChatMemberUpdatedFilter(IS_MEMBER >> IS_NOT_MEMBER))
async def on_user_leave(event: ChatMemberUpdated):
    print(event, 'LEAVE')

# Срабатывает когда присоединяется новый пользователь
@router.chat_member(ChatMemberUpdatedFilter(IS_NOT_MEMBER >> IS_MEMBER))
async def on_user_join(event: ChatMemberUpdated):
    print(event, 'ADD NEW')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы