Solusi untuk masalah bot spam yang ditambahkan ke grup telegram

Hai Saya penulis beberapa bot populer untuk mengelola grup telegram: @daysandbox , @watchdog_robot , dan lainnya. Setiap hari di grup pendukung dan di pesan pribadi saya melihat pertanyaan yang sama: bagaimana saya bisa melindungi diri saya dari robot spam yang ditambahkan ke grup. Biasanya mereka juga menentukan bahwa ini adalah bot spam Arab. Orang-orang berusaha menemukan bot anti-spam yang akan menghapus tautan, menghapus pesan dengan karakter Arab, menghapus pengguna dengan karakter Arab dalam nama dan hal-hal seperti itu. Tetapi ini semua adalah konsekuensi, dan dalam banyak kasus alasannya sama dan mudah untuk memperbaikinya. Alasannya sederhana, tetapi tidak jelas.


Apa keunikan dari masalah bot spam yang ditambahkan ke grup? Bot telegram tidak melihat pesan dari bot telegram lainnya. Bahkan jika Anda sudah menginstal bot dalam grup yang menghapus tautan, karakter Arab, dan hal-hal lain, bahkan jika mereka melarang anggota baru menulis pesan sampai anggota baru mengklik tombol atau lulus semacam tes, ini tidak membantu spam


Spam muncul dalam skenario berikut:


  • anggota grup menambahkan bot spam ke grup
  • bot anti-spam melihat fakta menambahkan bot
  • bot anti-spam, memanggil metode API telegram, yang membatasi bot spam untuk menulis pesan ke grup. Misalnya, ia melakukan ini untuk semua pengguna baru atau hanya untuk mereka yang nama penggunanya berisi kata "bot" di bagian akhir. Itu tidak masalah.
  • Beberapa waktu berlalu antara saat bot spam memasuki grup dan telegram server memproses permintaan untuk membatasi bot ini untuk menulis hak obrolan. Pada titik ini, bot spam dapat mengirim pesan ke obrolan.
  • Bot anti-spam tidak melihat pesan ini, karena bot tidak melihat pesan dari bot lain. Beginilah cara kerja telegram.

Skenario yang dipertimbangkan menunjukkan bahwa tidak selalu mungkin untuk berurusan dengan konsekuensi dari bot yang ditambahkan. Lebih efisien untuk menangani alasan - kemampuan untuk menambahkan bot ke grup oleh anggota grup.


Ada dua jenis grup telegram: publik dan pribadi. Jenis grup menentukan apa yang dapat dilakukan oleh administrator, pengguna biasa, dan bot di dalam grup dan bagaimana caranya. Prasyarat untuk grup publik adalah adanya tautan dari formulir " https://t.me/XXX ", dimana Anda dapat masuk ke grup. Untuk grup pribadi, tautan login tidak diperlukan.


Pertimbangkan proses membuat grup dari awal. Buat grup dengan pengaturan default. Kami akan mendapatkan grup pribadi tanpa tautan undangan. Mari kita coba menambahkan bot apa pun sebagai anggota sederhana grup. Ditambahkan! Bagaimana cara mengatasi masalah tersebut? Satu-satunya cara untuk melarang penambahan bot ke grup pribadi adalah dengan melarang menambahkan anggota baru secara manual sama sekali, ini dilakukan dengan menggunakan kotak centang "Manajemen Grup -> Izin -> Tambah Anggota". Ini akan membatasi hanya pengguna biasa, administrator grup masih dapat menambahkan anggota baru (dan bot) dengan tangan.


Dengan kasus paling sederhana disortir. Sekarang buat tautan undangan untuk masuk ke grup: "Manajemen Grup-> Informasi Grup -> Tautan Undangan -> Buat Tautan Undangan". Kami mendapatkan tautan dari formulir " https://t.me/joinchat/ ...". Tautan undangan dibuat untuk setiap administrator, awalnya hanya administrator yang membuatnya yang mengetahuinya. Sekarang administrator dapat menempatkan tautan ini sesuai keinginannya, dan setiap pengguna dapat bergabung dengan obrolan menggunakan tautan ini. Kapan saja, administrator dapat membuat tautan undangan baru, sementara tautan lama akan berhenti berfungsi.


Catatan penting: bot spam tidak dapat masuk ke grup dengan tautan undangan. Bot spam (dan bot apa pun secara umum) dapat masuk ke obrolan hanya jika seseorang menambahkan bot secara manual di sana. Alasan paling umum agar bot spam muncul di obrolan pribadi adalah ketika administrator membuat tautan undangan tetapi tidak menonaktifkan (melalui Manajemen Grup -> Izin) kemampuan untuk menambahkan pengguna baru secara manual.


Sekarang mari kita lihat apa yang terjadi jika kita mentransfer grup dari privat ke publik menggunakan "Manajemen Grup -> Informasi Grup -> Grup Publik". Kami juga harus membuat alamat publik dari formulir " https://t.me/XXX ", tanpa ini kami tidak dapat membuat grup publik. Biarlah " https://t.me/habr_test ". Apa perbedaan antara grup publik dan grup pribadi dengan tautan undangan? Grup publik dapat ditemukan melalui pencarian telegram internal, dan Anda juga dapat melihat pesan grup apa pun melalui web di " https://t.me/habr_test/X ", di mana X adalah nomor urutan pesan dalam grup.


Jadi, grup kami telah menjadi publik, telah mengubah properti visibilitas, dan tidak hanya. Yang paling menarik adalah Anda tidak bisa lagi mengundang bot ke sana. Jika diizinkan untuk mengundang pengguna baru di "Manajemen Grup -> Izin", maka pengguna dapat mengundang pengguna baru, tetapi hanya orang biasa, bukan bot. Saat mencoba menambahkan bot, kesalahan "Gagal menambahkan pengguna. Coba lagi nanti." Apa yang kamu butuhkan!


Kesimpulan Kekebalan dari menginfeksi kelompok dengan bot memberikan salah satu dari dua tindakan:


  • melarang peserta reguler untuk menambahkan bot (Manajemen Grup -> Izin)
  • mentransfer grup ke mode publik mis. menugaskan grup dari alamat form " https://t.me/habr_test "

PS Judul artikelnya adalah clickbait kecil. Tentu saja, banyak spam telegram dihasilkan bukan oleh bot-API bot, tetapi oleh bot yang menggunakan akun pengguna biasa, tetapi masalah dan solusinya, yang dijelaskan dalam artikel, ada tempatnya. Dan mereka memiliki tempat untuk menjadi setiap hari, dan saya ragu untuk menjawab pertanyaan yang sama untuk pertanyaan yang sama, oleh karena itu saya menulis artikel ini.


UPD: Membuat bot yang secara otomatis menghapus pesan yang mengandung karakter Arab, dan juga menghapus pengguna baru yang namanya memiliki karakter Arab. Cukup instal bot @noarab_bot di obrolan dan berikan hak untuk menghapus pesan dan mencekal pengguna. Dokumentasi Bot: https://tgdev.io/bot/noarab_bot


UPD2: Jika karena satu dan lain alasan tidak memungkinkan untuk membuat grup publik atau melarang penambahan grup ke grup pribadi, maka Anda dapat menggunakan bot @watchdog_robot dengan filter "bot" - watchdog akan menghapus bot segera setelah seseorang menambahkannya ke obrolan.

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


All Articles