Langsung ke konten utama

Pahami Batasan Pengiriman File Pada Telegram Bot API

Anda perlu mengenali batasan pengiriman file dalam Telegram API yang mungkin menjadi salah satu penyebab error script bot anda.

Pada dokumentasi Telegram disebutkan beberapa poin yang harus anda patuhi dalam pengiriman file melalui Telegram API:

3 CARA PENGIRIMAN

  1. REUSABLE - Memanggil arsip file yang sebelumnya sudah dikirim jadi tidak perlu mengunggah ulang.
  2. URL - Memberikan alamat link file yang berada di lokasi lain selama bisa diakses online.
  3. multipart/form-data - Pengiriman yang sama dengan yang biasa digunakan dalam formulir web.

Pengiriman Melalui Reusable file_id

Hampir tidak ada limitasi dalam cara ini namun ada periode kadaluarsa pemakaian dan sangat tergantung pada identitas unik file_id yang tidak ramah untuk dihapal.

Setiap file yang dikirim ke Telegram akan diberi identitas unik file_id, sehingga bisa digunakan ulang cukup dengan memanggilnya. file_id didapatkan dari respon JSON kiriman Telegram dan jangan mengambil dari file_id dari thumb:

Masalahnya keunikan file_id berbeda-beda antar bot dan tidak bisa digunakan lintas bot. Pengiriman dengan cara ini tidak mengubah format aslinya, hanya saja cara ini tidak menyertakan thumbnail gambar seperti saat pertama kali dikirim.

file_id punya periode kadaluarsa tergantung seberapa lama chat tidak dihapus historinyaSiLiKiDi

Pengiriman Melalui URL

Cara ini memungkinkan Telegram untuk mengunduh dan mengirimkannya langsung dari link tersebut. Terdapat batasan maksimal 5 MB untuk gambar atau foto dan 20 MB tipe file lainnya. Cara ini menuntut lokasi link dari file tersebut berada yang bisa diakses langsung secara online [Direct Link].

Dipastikan menggunakan URL yang dibungkus dengan wrapper tertentu seperti Google Drive dan file sharing bukan direct link seperti yang disediakan CDN biasanya tidak akan berhasil.

Direct Link menyediakan nama file berikut ekstensinya langsung. Simak lebih mendalam artikel Direct Link Files Dengan Cloudinary CDNSiLiKiDi

Sangat disarankan untuk menggunakan Direct Link bila menggunakan cara ini. Hal ini terkait Telegram yang menuntut agar server yang bersangkutan menyertakan dengan akurat MIME type dari file yang dikirim.

Dengan Direct Link kemungkinan Telegram masih bisa mendeteksi MIME type dari ekstensi yang hadir dalam URL tersebut. Misalkan file https://[URL]/video.mp4, maka ekstensi .MP4 dari file tersebut yang menjadi patokan Telegram bahwa file tersebut berbentuk video ketika server host tidak menyertakan MIME type video/mp4

Batasan lainnya dalam pengiriman URL jenis file hanya diperkenankan file GIF, PDF, dan ZIP. Untuk jenis voice notes dalam format audio/x-vorbis+ogg maksimal 1 MB.

Pengiriman Melalui form-data

Dalam cara form-data terdapat batasan maksimal 10 MB untuk foto atau gambar, 50 MB tipe file lainnya, batasan yang lebih besar dari cara URL. Namun bukannya tanpa konsekuensi, cara ini menuntut penanganan proses uploading yang lumayan rumit dan tentunya wajib menyertakan MIME type.

MIME type sangat penting terutama menghadapi ekstensi file yang hybrid seperti OGG Audio [audio/x-vorbis+ogg] dan OGG Video [video/x-theora+ogg] berekstensi sama .OGGSiLiKiDi

CARA MENGETAHUI MIME TYPE

Cara yang paling akurat adalah dengan menelaah struktur JSON kiriman Telegram khususnya ketika user mengirimkan file selain text dan photo biasanya terdapat properti mime_type:

Anda dapat membuat script khusus untuk mengetahui struktur JSON kiriman Telegram di artikel Melihat Struktur JSON Kiriman TelegramSiLiKiDi

GUNAKAN METODE YANG TEPAT

Metode pengiriman dalam Telegam API beragam tergantung jenis file dan terkadang jenis file yang sama dikirim dengan metode berbeda. MP3, WAV, dan OGG secara umum termasuk file berjenis audio tapi dalam aturan Telegram API:

Minimalisir kesalahan pengiriman dengan memperhatikan Available methods dan Available types pada dokumentasi Telegram APISiLiKiDi

TANTANGAN LIMITASI

Perlu anda ingat tidak hanya di Telegram, pada aplikasi online manapun akan selalu terdapat batasan-batasan. Batasan ini menjadi tantangan teknologi untuk terus mencari format baru yang lebih mampu mengkompresi ukuran namun dengan kualitas tetap terjaga.

Animasi Lottie TGS dan gambar statis WEBP bisa menjadi solusi terbaik ukuran sangat ringan dan kualitas lebih baikSiLiKiDi
Dapatkan skrip semua materi di repository

Dukung donasi agar tutorial ini tetap operasional:
Trakteer Saya SiLiKiDi

Komentar

Postingan populer dari blog ini

Mengirim Media Group Ke Chat Telegram Dengan Apps Script

Media Group Telegram memungkinkan kita untuk mengirimkan beberapa foto, video, audio, atau dokumen sekaligus dalam satu bungkusan pesan menggunakan metode sendMediaGroup