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
- REUSABLE - Memanggil arsip file yang sebelumnya sudah dikirim jadi tidak perlu mengunggah ulang.
- URL - Memberikan alamat link file yang berada di lokasi lain selama bisa diakses online.
- 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:
- MP3 dikirim dengan metode sendAudio
- WAV dikirim dengan metode sendDocument
- OGG dikirim dengan metode sendVoice
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:
SiLiKiDi
Komentar
Posting Komentar