> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Cara kerja notifikasi

> Umumkan stream, video, postingan, dan episode baru dari delapan platform eksternal langsung di server Discord Anda.

Vetox mengawasi delapan platform eksternal dan memposting pengumuman di server Anda setiap kali sesuatu yang baru muncul.

<CardGroup cols={4}>
  <Card title="Twitch" icon="twitch" href="/id/notifications/twitch" />

  <Card title="Kick" icon="tower-broadcast" href="/id/notifications/kick" />

  <Card title="YouTube" icon="youtube" href="/id/notifications/youtube" />

  <Card title="Reddit" icon="reddit" href="/id/notifications/reddit" />

  <Card title="Bluesky" icon="cloud" href="/id/notifications/bluesky" />

  <Card title="Steam" icon="steam" href="/id/notifications/steam" />

  <Card title="RSS" icon="rss" href="/id/notifications/rss" />

  <Card title="Podcasts" icon="podcast" href="/id/notifications/podcasts" />
</CardGroup>

## Tiga hal harus benar

Ini adalah alasan tunggal paling umum notifikasi tampak tidak bekerja. Ketiganya diperlukan, dan hanya yang pertama yang terlihat di halaman notifikasi itu sendiri.

<Steps>
  <Step title="Premium Basic atau lebih tinggi">
    Setiap platform memerlukan setidaknya tier **Basic**. Menambahkan langganan di Starter ditolak dengan pesan yang menyebut platform.

    Pemeriksaan berjalan dua kali — sekali saat Anda menambahkan item, dan lagi pada saat pengumuman akan dikirim.
  </Step>

  <Step title="Toggle platform di Server Setup">
    Setiap platform memiliki switch sendiri di halaman [Server Setup](/id/server-management/setup), dan **mati secara default**. Mengonfigurasi notifikasi itu sendiri tidak cukup.

    <Warning>
      Kedua halaman notifikasi tidak menampilkan status toggle ini. Feed yang sepenuhnya dikonfigurasi dan berbayar premium akan diam-diam tidak pernah menyala, tanpa indikasi di mana pun di UI notifikasi. **Periksa Server Setup terlebih dahulu.**
    </Warning>
  </Step>

  <Step title="Izin channel">
    Vetox memerlukan **View Channel**, **Send Messages**, dan **Embed Links** di channel target. Lihat di bawah.
  </Step>
</Steps>

## Batasan

**10 item per platform, per server** — 10 streamer Twitch, 10 channel YouTube, 10 subreddit, dan sebagainya.

Ini adalah batas produk datar. **Tidak** meningkat dengan tier premium yang lebih tinggi, dan sama di Basic, Max, dan Black.

## Seberapa cepat notifikasi tiba

Vetox mem-poll setiap platform pada jadwal tetap. Pengumuman tiba pada poll berikutnya setelah konten muncul.

| Platform | Diperiksa setiap | Cooldown per sumber |
| -------- | ---------------- | ------------------- |
| Twitch   | 60 detik         | 10 menit            |
| Kick     | 60 detik         | 10 menit            |
| Bluesky  | 60 detik         | 2 menit             |
| Reddit   | 3 menit          | 2 menit             |
| Steam    | 3 menit          | 2 menit             |
| YouTube  | 5 menit          | 10 menit            |
| RSS      | 5 menit          | 5 menit             |
| Podcasts | 5 menit          | 5 menit             |

**Cooldown** adalah lantai antara dua pengumuman untuk sumber yang sama, independen dari interval poll. Subreddit yang memposting tiga kali dalam satu menit menghasilkan satu pengumuman, bukan tiga.

<Note>
  Polling dilakukan oleh satu instance terpilih, sehingga server yang sibuk tidak pernah menerima duplikat dari worker paralel.
</Note>

### Dua model pelacakan berbeda

| Model           | Platform     | Perilaku                                                                           |
| --------------- | ------------ | ---------------------------------------------------------------------------------- |
| **Live state**  | Twitch, Kick | Melacak apakah stream live atau offline, dan mengumumkan saat status itu *berubah* |
| **New content** | Enam lainnya | Melacak item individu dan mengumumkan setiap yang baru sekali                      |

<Warning>
  **Menambahkan streamer yang sudah live tidak menghasilkan apa-apa.** Pelacak live-state hanya menyala pada transisi offline → online. Jika Anda menambahkan seseorang di tengah stream, pengumuman pertama yang Anda dapatkan adalah stream *berikutnya* mereka.

  Uji dengan seseorang yang saat ini offline, atau tunggu saja.
</Warning>

<Note>
  Status live/offline dilacak **per streamer, bukan per server**. Jika beberapa server mengikuti streamer yang sama, mereka digerakkan dari satu status bersama.
</Note>

## Apa yang tidak akan diumumkan

<AccordionGroup>
  <Accordion title="Apa pun yang dipublikasikan sebelum Anda menambahkannya" icon="clock-rotate-left">
    Menambahkan langganan tidak pernah mengisi ulang. Hanya konten yang dipublikasikan setelah Anda menambahkan item yang diumumkan, sehingga channel Anda tidak dibanjiri saat pengaturan.
  </Accordion>

  <Accordion title="Konten lebih dari 2 jam" icon="hourglass-end">
    Untuk enam platform berbasis konten, apa pun yang dipublikasikan lebih dari 2 jam yang lalu diabaikan bahkan jika Vetox belum pernah melihatnya. Ini mencegah backlog dibuang setelah pemadaman.

    Item yang feed-nya tidak menyediakan tanggal publikasi yang dapat dibaca melewati pemeriksaan ini dan dapat diumumkan terlepas dari usianya. Ini kadang-kadang mengapa item RSS lama muncul.
  </Accordion>

  <Accordion title="Item yang sama dua kali" icon="copy">
    Setiap item yang diumumkan diingat selama **7 hari**, per server, sehingga restart atau poll yang lambat tidak dapat menghasilkan duplikat. Dua server yang mengikuti feed yang sama masing-masing mendapatkan salinannya sendiri — satu server yang melihat item tidak menekannya untuk yang lain.
  </Accordion>

  <Accordion title="Balasan dan repost Bluesky" icon="reply">
    Hanya postingan asli yang diumumkan. Balasan dan repost disaring dua kali lipat. **Quote post tidak disaring** dan akan diumumkan.
  </Accordion>

  <Accordion title="Apa pun yang tiba saat premium lapse" icon="triangle-exclamation">
    Item yang dilihat saat premium Anda tidak aktif ditandai sebagai dilihat selama 7 hari meskipun tidak ada yang diposting. Meningkatkan tidak mengumumkannya secara retroaktif.

    Setelah mengaktifkan kembali premium, harapkan periode tenang sampai konten yang benar-benar baru muncul.
  </Accordion>
</AccordionGroup>

## Izin Discord

Diperiksa pada izin live bot di channel target saat waktu pengiriman:

| Izin              | Mengapa                                                                                                   |
| ----------------- | --------------------------------------------------------------------------------------------------------- |
| **View Channel**  | Vetox tidak dapat memposting ke channel yang tidak dapat dilihatnya                                       |
| **Send Messages** | Untuk memposting pengumuman                                                                               |
| **Embed Links**   | Setiap notifikasi adalah embed. Tanpa ini, pesan ditolak sama sekali, bahkan jika Send Messages diberikan |

<Warning>
  **Kegagalan izin kehilangan item itu secara permanen.** Item ditandai sebagai dilihat sebelum pengiriman dicoba, dan tidak ada retry. Perbaiki izin *sebelum* konten yang Anda pedulikan dipublikasikan — bukan setelahnya.
</Warning>

<Tip>
  Jika sebuah channel memiliki overwrite izin kustom, periksa izin *efektif* bot di sana daripada role di seluruh server. Embed Links adalah yang paling sering hilang.
</Tip>

## Mengkustomisasi pengumuman

| Opsi                | Apa yang dilakukannya                                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Discord channel** | Di mana pengumuman diposting. Diatur per item yang dilacak, sehingga streamer berbeda dapat memposting ke channel berbeda |
| **Mention role**    | Role yang di-ping bersama pengumuman                                                                                      |
| **Custom embed**    | Kontrol penuh atas judul, deskripsi, warna, author, footer, thumbnail, gambar, dan field                                  |
| **Custom message**  | Teks polos yang digunakan sebagai badan embed. **Hanya tersedia di RSS dan Podcasts**                                     |

<Note>
  Kontrol custom message hanya muncul di halaman RSS dan Podcast. Enam platform lainnya menggunakan custom embed sebagai gantinya.
</Note>

### Batas ukuran embed

| Field                    | Batas                                  |
| ------------------------ | -------------------------------------- |
| Judul                    | 256 karakter                           |
| Deskripsi                | 4.096 karakter                         |
| Nama author              | 256 karakter                           |
| Teks footer              | 2.048 karakter                         |
| Field                    | 25, masing-masing 256 / 1.024 karakter |
| URL gambar dan thumbnail | 500 karakter, tanpa SVG                |

### Variabel

Field embed dan pesan mendukung variabel dalam kurung kurawal, seperti `{streamer.name}`. Setiap platform memiliki set-nya sendiri, terdaftar di halaman platform itu.

<Warning>
  **Variabel yang tidak dikenal menjadi teks kosong, bukan error.** Dan field embed yang judul atau nilainya kosong dihilangkan dari pesan sepenuhnya.

  Jadi field yang terus menghilang hampir selalu berarti variabel yang salah eja, atau yang tidak ada untuk platform itu. Periksa nama terhadap daftar di halaman platform — dropdown di editor adalah yang otoritatif.
</Warning>

<Note>
  Variabel stream Twitch dan Kick (`{stream.title}`, `{stream.viewers}` dan sebagainya) hanya ada di pengumuman **live**. Digunakan di embed offline mereka diselesaikan menjadi tidak ada dan field-nya menghilang.
</Note>

## Mention

Role mention yang Anda konfigurasi di-ping secara normal.

<Warning>
  Mention di embed notifikasi **tidak** dibatasi ke role yang dikonfigurasi. Role atau user mention yang diketik ke dalam pesan atau badan embed kustom akan di-ping. Berhati-hatilah dengan `@everyone` di template kustom.
</Warning>

## Dua pengaturan yang tidak dapat Anda ubah

<Note>
  **Master enable switch** dan **warna embed** untuk setiap platform disimpan tetapi tidak memiliki kontrol yang berfungsi di dashboard. Setiap platform menggunakan warna default brand-nya, dan master switch tidak dapat di-toggle.

  Gunakan toggle [Server Setup](/id/server-management/setup) untuk mematikan platform, dan custom embed untuk mengatur warna.
</Note>

## Pemecahan masalah

<AccordionGroup>
  <Accordion title="Tidak ada yang diposting sama sekali">
    Secara berurutan:

    1. Toggle platform di halaman **Server Setup** aktif — ini mati secara default dan tidak terlihat dari sini
    2. Server memiliki premium **Basic** aktif atau lebih tinggi
    3. Channel target masih ada
    4. Vetox memiliki **View Channel + Send Messages + Embed Links** di sana
    5. Untuk Twitch dan Kick — streamer offline dan kembali sejak Anda menambahkan mereka
  </Accordion>

  <Accordion title="Saya mendapatkan pengumuman live tetapi tidak yang offline">
    Pengumuman offline **mati secara default** di Twitch dan Kick. Aktifkan pada streamer yang dilacak.
  </Accordion>

  <Accordion title="Sebuah field embed terus menghilang">
    Judul atau nilainya diselesaikan menjadi kosong dan field dihilangkan. Hampir selalu variabel yang salah eja atau platform yang salah.
  </Accordion>

  <Accordion title="Saya tidak dapat menambahkan item kesebelas">
    Sepuluh per platform adalah maksimum dan tidak berskala dengan tier. Hapus satu terlebih dahulu.
  </Accordion>

  <Accordion title="Berhasil, lalu berhenti setelah premium saya lapse">
    Konfigurasi disimpan, tidak dihapus, dan dilanjutkan secara otomatis. Tapi apa pun yang dipublikasikan selama lapse sudah ditandai sebagai dilihat dan tidak akan diumumkan secara retroaktif.
  </Accordion>

  <Accordion title="Mengosongkan channel pada streamer Twitch atau Kick tidak melakukan apa-apa">
    Field channel yang dikosongkan tidak dikirim, sehingga channel sebelumnya dipertahankan dan tidak ada error yang ditampilkan. Pilih channel berbeda alih-alih mengosongkannya.
  </Accordion>
</AccordionGroup>
