Current dan quoted media
js
terima: {
nama: "media",
sumber: [
"message.media",
"message.quoted.media"
],
tipe: ["gambar", "video"],
wajib: true
}- Gambar dengan caption `.sticker` → current media dipakai langsung.
- Reply gambar lalu `.sticker` → quoted media dipakai langsung.
- `.sticker` tanpa media → flow dapat menunggu media berikutnya melalui session continuation.
Jenis reference
| Ref | Makna |
|---|---|
| wam_... | Signed opaque inbound WhatsApp media reference. |
| med_... | Media upload/reference lokal PN3KN yang sudah tersimpan sementara. |
Binary tidak dimasukkan ke GatewayScript. Signed inbound ref terikat pada context user/device/message sehingga tidak dapat dipakai sebagai path filesystem.
On-demand resolver
text
message.media.ref (wam_...)
↓ capability media.read()
Baileys worker pemilik device
↓ downloadMediaMessage()
temporary PN3KN media storage
↓ med_...
plugin receives BufferHasil resolve dapat di-cache per inbound message agar capability berikutnya tidak mendownload ulang media yang sama.
Media helper untuk plugin
js
const source = await media.read(input.sumber)
const output = await process(source.buffer)
const saved = await media.save({
buffer: output,
fileName: "output.webp",
mimeType: "image/webp"
})
return { sticker: saved }Outbound flow
- text
- image
- video
- audio
- document
- sticker
- location
Output media dari capability biasanya disimpan sebagai `{hasil.xxx}` lalu diberikan ke node `kirim`.