Mengapa bot Twitch melewatkan pesan moderator
Pertama, tentukan pada tahap mana pesan hilang
Periksa apakah bot menerima pesan biasa di kanal yang sama. Jika di log tidak ada penonton maupun moderator, masalahnya biasanya ada pada otorisasi, koneksi ke chat, atau nama kanal. Jika penonton terlihat tetapi pesan moderator tidak ada, cari penyebabnya di filter peran, tag IRC, atau langganan EventSub.
Jangan hanya melihat balasan bot di chat, tetapi juga jurnal peristiwa masuk. Pesan bisa sampai ke aplikasi tetapi tidak memicu perintah karena prefiks, cooldown, kata terlarang, daftar abaikan, atau pemeriksaan izin. Untuk pengujian, kirim frasa pendek yang sama dari penonton dan moderator, lalu perintah yang sama.
Periksa kanal, akun bot, dan koneksi IRC
Pastikan bot masuk ke kanal yang tepat dan dengan akun yang seharusnya membaca chat. Setelah kanal diganti nama, login diubah, atau berpindah antara lingkungan uji dan produksi, aplikasi bisa tetap online tetapi mendengarkan chat lain.
Di log koneksi harus terlihat otorisasi berhasil, nick bot, dan perintah masuk ke kanal. Setelah koneksi terputus, periksa bukan hanya upaya menyambung ulang, tetapi juga fakta bahwa login baru berhasil. Sambung ulang otomatis tanpa mencatat error menyembunyikan token kedaluwarsa, kata sandi OAuth yang salah, atau kesalahan pada nama kanal.
Periksa token OAuth dan izin baca
Token harus milik akun yang digunakan bot untuk membaca chat. Jangan tertukar dengan token streamer: izin pemilik kanal tidak otomatis diberikan ke akun bot terpisah. Untuk membaca pesan melalui IRC diperlukan scope chat:read.
Jika pesan diterima melalui EventSub, untuk peristiwa chat diperlukan token pengguna dengan izin user:read:chat. Bergantung pada skema otorisasi dan siapa yang membuat langganan, mungkin juga diperlukan izin agar bot dapat mengakses kanal, termasuk channel:bot. Jangan menambahkan scope secara asal: cocokkan dengan skema langganan saat ini dan akun yang membuatnya.
Keabsahan token pengguna dan daftar izin yang diberikan dapat diperiksa dengan permintaan:
curl -H "Authorization: OAuth $BOT_OAUTH_TOKEN" https://id.twitch.tv/oauth2/validate
Dalam respons, periksa login, ID pengguna, masa berlaku, dan array scopes. Jika chat:read atau user:read:chat tidak ada, diperlukan otorisasi ulang dengan kumpulan izin yang sesuai. Kekurangan solusi ini adalah token lama dan sesi tersimpan harus diganti di konfigurasi bot, jika tidak bot akan terus berjalan dengan izin sebelumnya.
Pisahkan diagnostik IRC dan EventSub
IRC dan EventSub mengirimkan pesan melalui jalur berbeda. IRC mengirimkan aliran chat melalui koneksi tetap: di log mentah cari baris PRIVMSG dari moderator. EventSub mengirimkan peristiwa channel.chat.message melalui langganan API yang dibuat: di sini periksa status, condition, dan transport pengirimannya.
Jika bot menggunakan kedua sumber, catat sumber setiap peristiwa di log. Jika tidak, satu pesan bisa diproses dua kali, dan kegagalan satu transport tidak akan terlihat. Jika hanya EventSub yang digunakan, tidak adanya koneksi IRC bukanlah kesalahan. Kekurangan skema EventSub adalah jika langganan salah atau dinonaktifkan, bot tidak akan melihat pesan sama sekali, bahkan dengan token yang berfungsi.
Periksa langganan EventSub untuk pesan chat
Dalam daftar langganan, temukan peristiwa channel.chat.message. Entri tersebut harus berstatus aktif. Di condition, periksa broadcaster_user_id — yaitu ID kanal streamer — dan user_id pengguna yang menerima peristiwa. Kesalahan pada salah satu ID ini sering tampak sebagai ketiadaan pesan secara selektif.
Minta daftar langganan melalui GET /helix/eventsub/subscriptions. Dalam respons, periksa type, status, condition, dan transport. Status enabled berarti langganan aktif; notifikasi kegagalan pengiriman, entri yang dihapus, atau kanal yang berbeda akan menunjukkan penyebabnya. Untuk permintaan ini gunakan token dan Client ID dari aplikasi yang membuat langganan.
Jangan hanya berpatokan pada adanya entri di panel atau basis data bot. Langganan bisa saja dibuat untuk kanal uji, dihapus setelah kegagalan pengiriman, atau milik aplikasi lain. Kekurangan pemeriksaan melalui API adalah ia menunjukkan konfigurasi langganan, tetapi tidak menjelaskan logika penyaringan di dalam handler itu sendiri.
Aktifkan tag IRC dan periksa peran penulis
Jika pemeriksaan izin didasarkan pada IRC, klien harus meminta capability twitch.tv/tags. Tanpa tag, bot bisa menerima teks dan nick penulis, tetapi tidak melihat field mod dan badges. Dalam kasus seperti itu, perintah biasa masuk, sedangkan aturan moderator memberikan penolakan palsu.
Dalam pesan mentah moderator, cari mod=1 dan badges=moderator/1. Field user-type bisa tidak ada, kosong, atau tidak sesuai dengan peran aktual, jadi jangan gunakan sebagai satu-satunya penanda. Parser harus menangani nilai tag yang kosong dan karakter yang di-escape dengan benar; kekurangan pendekatan IRC justru terletak pada keharusan mengurai format ini sendiri.
Jika mod=1 tidak ada, pertama pastikan capability untuk tag benar-benar dikonfirmasi oleh server, bukan hanya dikirim oleh klien. Lalu periksa badges. Nilai moderator/1 berarti moderator, broadcaster/1 — pemilik kanal. VIP biasanya memiliki badge vip/1, tetapi VIP tidak otomatis menjadi moderator. Streamer dan VIP sebaiknya tidak dianggap moderator berdasarkan nick, warna, atau display-name: tentukan peran berdasarkan badges dan aturan akses tersendiri.

Periksa aturan peran di kode dan pengaturan
Bandingkan peristiwa mentah dari penonton, VIP, moderator, dan pemilik kanal dengan teks yang sama. Jika peristiwa dari moderator sampai ke aplikasi tetapi handler melewatkannya, kesalahan berada setelah penerimaan: pada pemeriksaan peran, daftar hitam, antispam, atau perutean perintah.
- Samakan huruf besar-kecil login sebelum membandingkan.
- Periksa mod=1 dan badge moderator, bukan satu kumpulan tag tetap.
- Tentukan secara terpisah izin untuk broadcaster, moderator, vip, dan akun bot itu sendiri.
- Periksa apakah moderator masuk ke daftar abaikan, daftar ban, atau daftar pengguna terlarang.
- Perhatikan urutan kondisi: antispam atau kata terlarang bisa terpicu sebelum pemeriksaan peran.
- Pastikan perintah tidak diblokir oleh aturan untuk pesan dengan mention, tautan, atau pengulangan teks.
Daftar nick manual hanya cocok untuk diagnostik singkat. Kekurangannya — daftar itu usang setelah pergantian moderator, penggantian nama akun, atau perubahan peran di kanal.
Singkirkan format perintah, batas, dan pengabaian tersembunyi
Bot bisa melihat pesan dan sengaja tidak menjawab. Periksa cooldown perintah, batas pesan dari satu pengguna, perlindungan dari pengulangan, filter emoji, dan kata terlarang. Moderator sering mengirim perintah dengan cepat dan bisa terkena antispam sama seperti penonton.
Uji secara terpisah frasa biasa dan perintah dengan prefiks. Jika frasa ada di log tetapi perintah tidak sampai ke hasil pemrosesan, periksa prefiks, tata letak papan ketik, spasi, karakter tak terlihat, dan argumen. Perintah dengan garis miring dan tindakan moderasi tidak selalu datang sebagai teks biasa yang diharapkan handler.
Catat alasan keputusan untuk setiap pesan
Untuk diagnostik, simpan waktu, sumber peristiwa, kanal, ID penulis, jenis pesan, tag, dan hasil pemrosesan. Teks dapat disamarkan jika tidak diperlukan untuk mencari kesalahan. Di log harus ada alasan konkret: pesan tidak diterima, peran tidak dikenali, prefiks tidak cocok, cooldown terpicu, pengguna diabaikan, atau langganan EventSub dinonaktifkan.
Jangan mencatat token OAuth, secret aplikasi, alamat webhook, dan header otorisasi lengkap di log biasa. Data ini berguna saat debugging, tetapi kebocorannya dapat membuka akses ke bot dan pengaturan aplikasi.
Daftar periksa diagnostik secara berurutan
- Kirim frasa yang sama dan perintah yang sama dari penonton dan moderator.
- Periksa log mentah dan tentukan apakah pesan datang melalui IRC, EventSub, atau kedua sumber.
- Jika IRC tidak menerima pesan, cocokkan akun bot, nama kanal, token, dan keberhasilan masuk ke chat.
- Jika pesan IRC masuk, pastikan tag diaktifkan, lalu periksa mod=1 dan badges=moderator/1.
- Jika mod=1 tidak ada, periksa konfirmasi twitch.tv/tags dan bedakan moderator/1, vip/1, dan broadcaster/1.
- Periksa token melalui validate: untuk IRC diperlukan chat:read, untuk pesan EventSub — user:read:chat.
- Saat bekerja melalui EventSub, periksa channel.chat.message, status enabled, condition, dan transport dalam daftar langganan.
- Bandingkan pemrosesan peran, daftar abaikan, antispam, prefiks, cooldown, dan kata terlarang.
- Tambahkan ke log alasan eksplisit mengapa setiap pesan diterima, diabaikan, atau ditolak.
Last Articles
Apa yang Berubah dalam Desain dan Fungsionalitas Kami telah memperbarui situs agar bekerja lebih cepat dan nyaman. Perubahan utama menyangkut antarmu..
Good afternoon, I've collected all the news during this time.: 1. The main news is that prices for twitch viewers have been greatly reduced, while Tw..
1. Gunakan kode promo "December2025" untuk diskon 15% untuk semua penonton kami2. Kami telah menurunkan harga dasar untuk konfigurator dan kategori pe..
Layanan Twitch adalah bekerja dengan stabil, jadi kami siap bekerja sama dengan regu, reseller, pemilik layanan, pemilik bot, dan banyak lainnya.K..
Kami telah sepenuhnya memperbarui layanan penampil Twitch kami, dan sekarang sudah tersedia bekerja dengan stabil. Kami hanya menggunakan alamat I..
Hello everyone! Today, we are announcing a new feature—"Twitch Viewer Configurator". Now, you can customize any plan for your Twitch channel. Choo..
Greetings, I have compiled a guide for streamers, which will be very relevant at the moment. Now YouTube and twitch have disabled monetization from vi..
We have finally developed the APINow it will be more convenient for our partner sites to work with us.To update the maximum tariffs for YouTube, an up..
Karena popularitas besar layanan kemitraan dan program rujukan, kami telah membuat tabel kerja sama. Intinya sangat sederhana: lebih banyak pemirsa la..
Layanan Kami untuk Streamer

Shopee
Layanan Kami untuk Pembuat Konten









