web-dev-qa-db-fra.com

Comment gérer Inviter un lien dans une chaîne privée?

Qu'est-ce que j'ai fait:

J'ai développé un Telegram bot utilisant Telegrafjs Cadre. Ce bot permet à l'utilisateur de s'abonner à un canal payé, ce canal est privé.

Ainsi, après cela, le paiement est terminé, le bot envoie le lien d'invitation pour que l'utilisateur participe à la chaîne.

Le problème

Supposons maintenant que l'utilisateur payant envoie le lien d'invitation à un autre utilisateur (qui n'a pas payé), l'utilisateur non payant obtiendra l'accès au canal payé comme s'il était payé.

Avant de penser à une solution, il est nécessaire de connaître la limite des liens d'invitation du télégramme:

  • Il n'est pas possible d'ajouter un utilisateur à un canal sans inviter lien;
  • Il n'est pas possible de créer un lien d'invitation à usage unique;
  • Il n'est pas possible de créer un lien d'invitation personnel (qu'un seul utilisateur peut utiliser);
  • Les liens d'invitation sont mis en cache sur les serveurs de télégrammes et deviennent instables si vous les réinitialisez trop vite (essayez de réinitialiser un lien 2 à 3 fois en 10 secondes à l'aide de votre application Telegram - vous comprenez ce que je veux dire).

Qu'est-ce que je pensais comme solution

J'ai pensé à montrer le lien Invitation derrière un bouton en ligne, alors l'utilisateur verra Cliquez ici Bouton pendant 3 secondes, alors cela sera révoqué et un autre lien sera créé. Cela ne supprime pas le problème de l'accès au canal payant sans payer un abonnement, mais cela rend la vie aux utilisateurs injustes plus difficiles.

Possible autre problème: lorsque l'utilisateur clique sur le lien a obtenu:

Désolé, ce canal ne semble pas exister.

Cela signifie que le lien Invitation à la chaîne est instable pour le moment. Il arrive généralement après avoir cliqué Joindre plusieurs fois à la ligne OR Si plusieurs utilisateurs tentent de rejoindre en même temps.

Trop de tentatives, veuillez réessayer plus tard

Cela signifie que l'utilisateur a cliqué sur trop de liens invités non valides récemment. Très probablement, il avait beaucoup de messages "Désolé, ce canal ne semble pas exister" juste avant celui-ci ou a rejoint trop de canaux/groupes d'affilée.

Conclusion

Y a-t-il un moyen plus sûr de gérer cela?

4
sfarzoso

Vous pouvez compter le nombre de membres dans votre chat privé (canal ou groupe), lorsque le comte = Count + 1 Créez un nouveau lien Invitation.

0
user14506625

Grâce à UserBot API, votre bot peut agir en tant qu'utilisateur qui est le créateur (administrateur illimité) du canal secret. Cet administrateur peut donc regarder le journal des abonnés de la chaîne rejoint/quittant ce canal. Ce journal dure 24 heures. Dès que l'utilisateur invité a rejoint le canal secret, le bouton JoyChat peut être supprimé et l'URL de joinchat peut être révoquée. Les autres utilisateurs rejoignent ce canal secret, ils peuvent être frappés.

0
gloschtla