Lösungen für das Problem von Spam-Bots, die Telegrammgruppen hinzugefügt wurden

Hallo. Ich bin Autor mehrerer beliebter Bots für die Verwaltung von Telegrammgruppen: @daysandbox , @watchdog_robot und andere. Jeden Tag sehe ich in der Selbsthilfegruppe und in privaten Nachrichten die gleiche Frage: Wie kann ich mich vor Spambots schützen, die der Gruppe hinzugefügt wurden? Normalerweise geben sie auch an, dass dies arabische Spam-Bots sind. Die Leute versuchen, einen Anti-Spam-Bot zu finden, der Links entfernt, Nachrichten mit arabischen Zeichen löscht, Benutzer mit arabischen Zeichen in ihren Namen löscht und ähnliches. Dies sind jedoch alles Konsequenzen, und in vielen Fällen ist der Grund derselbe und es ist leicht, ihn zu korrigieren. Der Grund ist einfach, aber nicht offensichtlich.


Was ist die Einzigartigkeit des Problems der der Gruppe hinzugefügten Spam-Bots? Telegramm-Bots sehen keine Nachrichten von anderen Telegramm-Bots. Selbst wenn in der Gruppe bereits Bots installiert sind, die Links, arabische Zeichen und andere Dinge entfernen, selbst wenn sie neuen Mitgliedern das Schreiben von Nachrichten verbieten, bis neue Mitglieder auf eine Schaltfläche klicken oder einen Test bestehen, hilft dies nicht Spam


Spam tritt im folgenden Szenario auf:


  • Gruppenmitglied fügt der Gruppe Spam-Bot hinzu
  • Anti-Spam-Bot sieht die Tatsache, dass ein Bot hinzugefügt wird
  • Anti-Spam-Bot, ruft die Telegramm-API-Methode auf, die den Spam-Bot einschränkt, Nachrichten an die Gruppe zu schreiben. Zum Beispiel tut er dies für alle neuen Benutzer oder nur für diejenigen, deren Benutzername am Ende das Wort "bot" enthält. Es spielt keine Rolle.
  • Es vergeht einige Zeit zwischen dem Moment, in dem ein Spam-Bot eine Gruppe betritt und die Telegramme des Servers eine Anforderung verarbeiten, diesen Bot auf das Schreiben von Chat-Rechten zu beschränken. Zu diesem Zeitpunkt kann der Spam-Bot eine Nachricht an den Chat senden.
  • Der Anti-Spam-Bot sieht diese Nachricht nicht, da Bots keine Nachrichten von anderen Bots sehen. So funktionieren Telegramme.

Das betrachtete Szenario zeigt, dass es nicht immer möglich ist, mit den Folgen hinzugefügter Bots umzugehen. Es ist effizienter, mit dem Grund umzugehen - der Möglichkeit, einer Gruppe von Gruppenmitgliedern Bots hinzuzufügen.


Es gibt zwei Arten von Telegrammgruppen: öffentliche und private. Der Gruppentyp bestimmt, was Administratoren, normale Benutzer und Bots innerhalb der Gruppe tun können und wie. Voraussetzung für eine öffentliche Gruppe ist das Vorhandensein eines Links der Form " https://t.me/XXX ", über den Sie in die Gruppe eintreten können. Für eine private Gruppe ist kein Anmeldelink erforderlich.


Betrachten Sie den Prozess des Erstellens einer Gruppe von Grund auf neu. Erstellen Sie eine Gruppe mit Standardeinstellungen. Wir erhalten eine private Gruppe ohne Einladungslink. Versuchen wir, einen beliebigen Bot als einfaches Mitglied der Gruppe hinzuzufügen. Hinzugefügt! Wie löse ich das Problem? Die einzige Möglichkeit, das Hinzufügen von Bots zu einer privaten Gruppe zu verbieten, besteht darin, das manuelle Hinzufügen neuer Mitglieder zu verbieten. Dies erfolgt über das Kontrollkästchen "Gruppenverwaltung -> Berechtigungen -> Mitglieder hinzufügen". Dies beschränkt nur normale Benutzer. Gruppenadministratoren können weiterhin neue Mitglieder (und Bots) von Hand hinzufügen.


Mit dem einfachsten Fall aussortiert. Erstellen Sie nun einen Einladungslink, um in die Gruppe einzutreten: "Gruppenverwaltung-> Gruppeninformationen -> Einladungslink -> Einladungslink erstellen". Wir erhalten einen Link des Formulars " https://t.me/joinchat/ ...". Für jeden Administrator wird ein Einladungslink erstellt, der zunächst nur dem Administrator bekannt ist, der ihn erstellt hat. Jetzt kann der Administrator diesen Link dort platzieren, wo er es für richtig hält, und jeder Benutzer kann über diesen Link am Chat teilnehmen. Der Administrator kann jederzeit einen neuen Einladungslink generieren, während der alte Link nicht mehr funktioniert.


Wichtiger Hinweis: Spam-Bots können nicht über einen Einladungslink in die Gruppe aufgenommen werden. Ein Spam-Bot (und jeder Bot im Allgemeinen) kann nur dann in den Chat eintreten, wenn jemand den Bot dort manuell hinzufügt. Der häufigste Grund dafür, dass Spam-Bots in privaten Chats angezeigt werden, besteht darin, dass Administratoren Einladungslinks erstellen, aber die Möglichkeit zum manuellen Hinzufügen neuer Benutzer (über Gruppenverwaltung -> Berechtigungen) nicht deaktivieren.


Nun wollen wir sehen, was passiert, wenn wir eine Gruppe mit "Gruppenverwaltung -> Gruppeninformationen -> Öffentliche Gruppe" von privat zu öffentlich übertragen. Wir müssen auch eine öffentliche Adresse in der Form " https://t.me/XXX " erstellen , ohne die wir die Gruppe nicht veröffentlichen können. Sei es " https://t.me/habr_test ". Was ist der Unterschied zwischen einer öffentlichen und einer privaten Gruppe mit einem Einladungslink? Eine öffentliche Gruppe kann über eine interne Telegrammsuche gefunden werden. Sie können auch jede Gruppennachricht über das Internet unter " https://t.me/habr_test/X " anzeigen , wobei X die Nachrichtensequenznummer in der Gruppe ist.


Unsere Gruppe ist also öffentlich geworden, sie hat nicht nur die Eigenschaften der Sichtbarkeit verändert. Das Interessanteste ist, dass Sie keine Bots mehr dazu einladen können. Wenn unter "Gruppenverwaltung -> Berechtigungen" neue Benutzer eingeladen werden dürfen, können Benutzer neue Benutzer einladen, jedoch nur normale Personen, keine Bots. Beim Versuch, einen Bot hinzuzufügen, wird der Fehler "Benutzer konnte nicht hinzugefügt werden. Versuchen Sie es später erneut." Angezeigt. Was du brauchst!


Fazit Die Immunität gegen das Infizieren einer Gruppe mit Bots bietet eine von zwei Aktionen:


  • Verbot, dass reguläre Teilnehmer Bots hinzufügen (Gruppenverwaltung -> Berechtigungen)
  • Übertragen der Gruppe in den öffentlichen Modus, d.h. Zuweisen einer Adresse der Form " https://t.me/habr_test " zur Gruppe

PS Der Titel des Artikels ist ein kleiner Clickbait. Natürlich wird viel Telegramm-Spam nicht von Bot-API-Bots generiert, sondern von Bots, die normale Benutzerkonten verwenden, aber das im Artikel beschriebene Problem und seine Lösung haben einen Platz. Und sie haben jeden Tag einen Platz, und ich zögerte, dieselben Fragen zu denselben Fragen zu beantworten, deshalb schrieb ich diesen Artikel.


UPD: Es wurde ein Bot erstellt, der Nachrichten mit arabischen Zeichen automatisch löscht und neue Benutzer entfernt, deren Namen arabische Zeichen enthalten. Installieren Sie einfach den @ noarab_bot- Bot im Chat und geben Sie ihm das Recht, Nachrichten zu löschen und Benutzer zu sperren . Bot-Dokumentation: https://tgdev.io/bot/noarab_bot


UPD2: Wenn es aus dem einen oder anderen Grund nicht möglich ist, die Gruppe öffentlich zu machen oder das Hinzufügen der Gruppe zu einer privaten Gruppe zu verbieten, können Sie den Bot @watchdog_robot mit dem Filter "bot" verwenden. Watchdog löscht die Bots sofort, nachdem jemand sie dem Chat hinzugefügt hat.

Source: https://habr.com/ru/post/de442898/


All Articles