Как узнать количество подписавшихся по invite ссылке в aiogram?

Бот отправляет в телеграм канал сообщение с каким-то текстом и ссылкой на другой канал (в обоих каналах бот является администратором). Задача в том, что нужно получать количество подписавшихся пользователей по этой ссылке. Пробовал создавать invite ссылку на другой канал, и дальше отслеживать с помощью ChatMemberUpdatedFilter пользователей, которые подписались и брать event.invite_link, но этот объект всегда None (скорее всего, потому что канал открытый, но это обязательное условие).

Есть ли какие-то другие способы, или можно как-то исправить мой способ?

Вот мой способ:

@dp.chat_member(ChatMemberUpdatedFilter(LEFT | KICKED | MEMBER))
async def on_user_membership_change(event: ChatMemberUpdated):
    if event.invite_link is None:
        print('Invite link not found.')
    else:
        print(f'Invite link: {event.invite_link.invite_link}')

Версия aiogram==3.14.0


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

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

Вам следует проверить поле invite_link в объекте ChatMemberUpdated. Вы получите его как обновление (поле chat_member), когда пользователь присоединится по ссылке.

Подробнее: https://stackoverflow.com/questions/73036205/how-can-i-know-how-many-users-have-joined-through-invite-link-of-telegram-group

→ Ссылка