Пригласительные ссылки в Telegram

Пригласительные ссылки в Telegram

Groosha

Ссылки делятся на 2 типа: первичные и дополнительные.


У каждого админа (включая ботов) может быть не более одной первичной ссылки и сколько угодно вторичных.


Первичная ссылка не имеет никаких лимитов, но, поскольку она одна, то генерация новой первичной ссылки (в Bot API это метод exportChatInviteLink) приводит к отзыву предыдущей.


Дополнительная ссылка (метод createChatInviteLink) может иметь ограничения по времени и по количеству вступлений. Важно: "количество вступлений" означает не совсем то, что можно сразу подумать. Суть в чём.

Предположим, вы генерируете дополнительную ссылку с количеством вступлений, равным единице.

• Пользователь Алиса вошла по этой ссылке, осталось 0 вступлений.

• Пользователь Алиса вышла из группы, у этой ссылки стало 1 вступление.

• Пользователь Боб теперь снова может зайти по этой ссылке, у ссылки останется 0 вступлений.


Что можно сделать. чтобы ссылка была реально одноразовой? 

При вступлении в группу админ-бот, слушающий апдейт типа chat_member, получает информацию об участнике, а также о пригласительной ссылке, по которой он зашёл. Если ссылка отображается целиком (в поле creator указан сам бот и нет "..." в поле invite_link), то эта ссылка принадлежит боту и он может её отозвать методом revokeChatInviteLink.

Дополнительно можно на своей стороне проверять (требуется написание доп. кода), что вошёл по ссылке именно тот Telegram ID, кому бот кидал эту пригласительную ссылку. И банить тех, кто зашёл по чужой ссылке.

Report Page