Soluções para o problema de bots de spam adicionados a grupos de telegramas

Oi Eu sou o autor de vários bots populares para administrar grupos de telegramas: @daysandbox , @watchdog_robot e outros. Todos os dias no grupo de suporte e em mensagens privadas, vejo a mesma pergunta: como posso me proteger de spambots adicionados ao grupo. Geralmente eles também especificam que esses são bots de spam árabes. As pessoas estão tentando encontrar um bot anti-spam que remova links, exclua mensagens com caracteres árabes, exclua usuários com caracteres árabes em nomes e coisas assim. Mas essas são todas as consequências e, em muitos casos, o motivo é o mesmo e é fácil corrigi-lo. O motivo é simples, mas não óbvio.


Qual é a singularidade do problema dos bots de spam adicionados ao grupo? Os bots de telegrama não veem mensagens de outros bots de telegrama. Mesmo se você já tiver bots instalados no grupo que removem links, caracteres em árabe e outras coisas, mesmo que eles proíbam que novos membros gravem mensagens até que novos membros cliquem em um botão ou passem em algum tipo de teste, isso não ajuda. spam


O spam aparece no seguinte cenário:


  • membro do grupo adiciona bot de spam ao grupo
  • bot anti-spam vê o fato de adicionar um bot
  • bot anti-spam, chama o método da API de telegrama, que restringe o bot de spam a gravar mensagens no grupo. Por exemplo, ele faz isso para todos os novos usuários ou apenas para aqueles cujo nome de usuário contém a palavra "bot" no final. Isso não importa.
  • Algum tempo decorrido entre o momento em que um bot de spam entra em um grupo e os telegramas do servidor processam uma solicitação para restringir esse bot a escrever direitos de bate-papo. Nesse ponto, o bot de spam pode enviar uma mensagem para o bate-papo.
  • O bot anti-spam não vê esta mensagem, porque os bots não veem mensagens de outros bots. É assim que os telegramas funcionam.

O cenário considerado mostra que nem sempre é possível lidar com as conseqüências dos bots adicionados. É mais eficiente lidar com o motivo - a capacidade de adicionar bots a um grupo pelos membros do grupo.


Existem dois tipos de grupos de telegrama: público e privado. O tipo de grupo determina o que os administradores, usuários comuns e bots podem fazer dentro do grupo e como. Um pré-requisito para um grupo público é a existência de um link no formato " https://t.me/XXX ", pelo qual você pode entrar no grupo. Para um grupo privado, um link de login não é necessário.


Considere o processo de criação de um grupo do zero. Crie um grupo com configurações padrão. Obteremos um grupo privado sem um link de convite. Vamos tentar adicionar qualquer bot como um simples membro do grupo. Adicionado! Como resolver o problema? A única maneira de proibir a adição de bots a um grupo privado é proibir a adição manual de novos membros, usando a caixa de seleção "Gerenciamento de grupo -> Permissões -> Adicionar membros". Isso limitará apenas usuários comuns; os administradores do grupo ainda poderão adicionar novos membros (e bots) manualmente.


Com o caso mais simples resolvido. Agora crie um link de convite para entrar no grupo: "Gerenciamento de Grupo-> Informações do Grupo -> Link de Convite -> Criar Link de Convite". Nós temos um link no formato " https://t.me/joinchat/ ...". Um link de convite é criado para cada administrador, inicialmente apenas o administrador que o criou o conhece. Agora, o administrador pode colocar esse link onde achar melhor e qualquer usuário pode participar do bate-papo usando esse link. A qualquer momento, o administrador pode gerar um novo link de convite, enquanto o link antigo deixará de funcionar.


Nota importante: os bots de spam não podem entrar no grupo por link de convite. Um bot de spam (e qualquer bot em geral) pode entrar no bate-papo somente se alguém adicionar o bot manualmente. O motivo mais comum para os robôs de spam aparecerem em bate-papos particulares é quando os administradores criam links de convite, mas não desativam (por meio do Gerenciamento de grupo -> Permissões) a capacidade de adicionar novos usuários manualmente.


Agora vamos ver o que acontece se transferirmos um grupo de privado para público usando "Gerenciamento de Grupo -> Informações do Grupo -> Grupo Público". Também teremos que criar um endereço público no formato " https://t.me/XXX ", sem isso não podemos tornar o grupo público. Seja " https://t.me/habr_test ". Qual é a diferença entre um grupo público e um grupo privado com um link de convite? Um grupo público pode ser encontrado por meio de uma pesquisa interna por telegrama, e você também pode ver qualquer mensagem de grupo pela web em " https://t.me/habr_test/X ", em que X é o número de sequência da mensagem no grupo.


Então, nosso grupo se tornou público, mudou as propriedades da visibilidade, e não apenas. O mais interessante é que você não pode mais convidar bots para ele. Se for permitido convidar novos usuários em "Gerenciamento de Grupo -> Permissões", os usuários poderão convidar novos usuários, mas apenas pessoas comuns, não bots. Ao tentar adicionar um bot, o erro "Falha ao adicionar usuário. Tente novamente mais tarde". O que você precisa!


Conclusão A imunidade de infectar um grupo com bots oferece uma de duas ações:


  • proibindo participantes regulares de adicionar bots (Gerenciamento de grupo -> Permissões)
  • transferir o grupo para o modo público, ou seja, atribuindo ao grupo um endereço no formato " https://t.me/habr_test "

PS O título do artigo é um pouco de clickbait. Obviamente, muitos spams de telegrama são gerados não pelos bots de bot-API, mas pelos bots usando contas de usuário comuns, mas o problema e sua solução, descritos no artigo, têm um lugar para estar. E eles têm um lugar para estar todos os dias, e eu hesitei em responder às mesmas perguntas sobre as mesmas perguntas, por isso escrevi este artigo.


UPD: Criou um bot que exclui automaticamente as mensagens que contêm caracteres árabes e também remove novos usuários cujos nomes têm caracteres árabes. Basta instalar o @noarab_bot bot no chat e conceder o direito de excluir mensagens e banir usuários. Documentação de bot: https://tgdev.io/bot/noarab_bot


UPD2: Se, por um motivo ou outro, for impossível tornar o grupo público ou proibir a adição do grupo a um grupo privado, você poderá usar o @watchdog_robot bot com o filtro "bot" - o watchdog excluirá os bots imediatamente depois que alguém os adicionar ao bate-papo.

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


All Articles