Langsung ke konten utama

Sertifikat Berdasarkan Username Telegram

Keunikan username Telegram dapat dimanfaatkan menjadi nama file sertifikat. Dengan demikian kita tidak perlu lagi meminta input nama dari user melainkan cukup dengan mendeteksi data username dari kiriman JSON untuk kemudian dicocokkan dengan nama file sertifikat.

IDENTITAS UNIK FILE DI GOOGLE DRIVE

Setiap file yang tersimpan di Google Drive dibekali dengan ID unik yang bisa dilihat di URL saat file tersebut dibuka. Hanya saja URL ID unik tersebut dapat terlihat khusus untuk file-file yang dapat dibuka dan dibuat dengan aplikasi-aplikasi Google.

Keunikan ID file tersebut tidak terpengaruh oleh dua hal yang sekaligus menjadikan keunggulannya:

  • REDUDANSI NAMA FILE duplikasi nama file yang sama dengan format yang sama dan konten yang sama dalam satu folder yang sama diperkenankan di Google Drive karena yang membedakannya adalah ID uniknya
  • PINDAH FOLDER sekalipun file dalam keadaan terbuka diedit tidak akan terpengaruh ketika di saat yang sama file tersebut dipindahkan berbeda folder
Nama file diubah menjadi username tetap akan berlaku sama hanya saja bisa mengotomatisasi pencarian file tanpa perlu meminta input dari user karena username sudah didapatkan dari JSON kiriman TelegramSiLiKiDi

KONSEKUENSI SCRIPT

Konsekuensi pertama setiap user Telegram harus sudah menyetel username. Telegram tidak mewajibkan menyetel username bagi para penggunanya, sedangkan dalam scripting ini tanpa setelan username tidak akan berfungsi.

Konsekuensi kedua setiap nama file sertifikat harus sama dengan username dari peserta.

Konsekuensi ketiga penambahan kolom username di kolom pertama karena keyword pencarian hanya di kolom pertama saja.

Konsekuensi lainnya kita perlu menambahkan script untuk memvalidasi username. Bila username masih kosong, dikirim pesan notifikasi pada user tentang kewajiban menyetel username untuk mendapatkan sertifikat:


if (
  data.message.from.hasOwnProperty("username")
  &&
  data.message.from.username !== ""
) {
  /*** lanjutkan proses ***/
} else {
  /***
  * terminasi proses dan
  * kirim notifikasi wajib username 
  ***/
}

USERNAME DALAM JSON

Melalui @simrsjsonbot dapatlah kita lihat struktur JSON yang dikirim Telegram sebagai berikut:

Terkecuali kiriman JSON getFile tidak menyertakan username dan Poll berada di properti poll_answer.user.username, mayoritas kiriman JSON Telegram selalu menyertakan username yang dapat dipanggil dari dua properti:

  • from dengan notasi data.message.from.username
  • chat dengan notasi data.message.chat.username
Anda dapat melihat lebih banyak contoh JSON kiriman Telegram di repositorySiLiKiDi

COMMAND /sertifikat TANPA PARAMETER

Dengan menerapkan username sebagai nama file, maka dalam command /sertifikat di Bot Telegram tidak perlu lagi ditambahkan paramater nama_peserta.

FINAL SCRIPT

Final Script dapat diunduh di repository menggunakan script yang sama dalam artikel Versi Upgrade Script Sertifikat dengan modifikasi di fungsi doPost(e) saja:

Dapatkan skrip semua materi di repository

Dukung donasi agar tutorial ini tetap operasional:
Trakteer Saya SiLiKiDi

Komentar

Postingan populer dari blog ini

Mengirim File Google Drive ke Telegram

Pada eksperimen kali ini anda akan diajak untuk mencoba mengirimkan file yang ada di Google Drive ke chat Telegram menggunakan perantaraan Apps Script.