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:
SiLiKiDi
Komentar
Posting Komentar