How to create a script in this “function isian” using the onChange trigger. This script uses the onFormSubmit trigger, how to change it so that it can use the onchange trigger. I have data in a spreadsheet that uses a trigger on form submit in this script which is triggered from a google form, I want to change the trigger using the onChange trigger how do I do it or what does the script and where I place it, I’m still very new to this. Hope someone can help me?
var token = 'Masukan token yang didapat dari BotFather';
var telegramUrl = 'https://api.telegram.org/bot'+token;
var webAppUrl = 'masukan url server yang didapat dari publish web app'
//ini untuk mengaktifkan Server Bot nya
function setWebhook(){
var url = telegramUrl+'/setWebhook?url='+webAppUrl;
var response = UrlFetchApp.fetch(url);
Logger.log(response.getContentText())
}
function doPost(e){
//masukan id google sheet tempat dimana menyimpan data toko
var ss = SpreadsheetApp.getActiveSpreadsheet();
//menangkap request dari server telegram
var contents = JSON.parse(e.postData.contents);
//variabel text digunakan untuk menyimpan text yang dikirim oleh user
var text = contents.message.text;
//variabel yang digunakan untuk menyimpan id percakapan dari user
var id = contents.message.chat.id;
//memberi respon jika text yang dikirim user adalah kata reg
if(text == "reg"){
var balasPesan = "terima kasih anda sudah terdaftar di layanan bot ini"
//memasukan chat id panitia ke sheet chat_id pada baris 2 kolom 1
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("chat_id").getRange(2,1).setValue(id)
kirimPesan(id,balasPesan)
}else{
var pesan= "*Selamat datang di Menu PPDB* \n"
+"Bot ini terdiri dari beberapa menu : \n"
+"a. Register layanan \n"
+"Ketik : reg \n";
kirimPesan(id,pesan,'markdown');
}
}
//fungsi ini digunakan untuk mengirim pesan
function kirimPesan(chatid, pesan, parseMode, replyMarkup) {
var formData = {
'chat_id': chatid,
'text': pesan
};
if ( (typeof parseMode !== 'undefined') || (typeof parseMode !== null) ) {
formData['parse_mode'] = parseMode;
}
if ( (typeof replyMarkup !== 'undefined') || (typeof replyMarkup !== null) ) {
formData['reply_markup'] = replyMarkup;
}
var ret = request('sendMessage', formData);
return ret;
}
function request(method,data){
var options = {
'method':'post',
'contentType':'application/json',
'payload':JSON.stringify(data)
};
var res = UrlFetchApp.fetch(telegramUrl+'/'+method,options)
}
function isian(e){
var waktuDaftar = e.values[0]
var nama = e.values[1]
var smp = e.values[2]
var jurusan = e.values[3]
var noHp = e.values[4]
var template = DriveApp.getFileById("Masukan id template document pendaftaran")
var folderSimpanFile = DriveApp.getFolderById("Masukan id Folder yang digunakan untuk menyimpan file")
//membuat copyan dari template dengan nama dari field yang di isikan pendaftar
var copyTemplate = template.makeCopy(jurusan+" "+nama+" "+smp, folderSimpanFile)
//membuka dokumen tersebut
var docPendaftar = DocumentApp.openById(copyTemplate.getId())
//mendapatkan tag template untuk diganti dengan isian dari google form
var bodyDoc = docPendaftar.getBody()
bodyDoc.replaceText("{{Nama}}", nama)
bodyDoc.replaceText("{{SMP}}", smp)
bodyDoc.replaceText("{{Jurusan}}", jurusan)
//menyimpan dan menutup inputan dari pendaftar
docPendaftar.saveAndClose()
//membuka dokumen dan merubahnya menjadi pdf
var pdf = DocumentApp.openById(copyTemplate.getId()).getAs('application/pdf')
//membuat link pdf nya
var urlPdf = folderSimpanFile.createFile(pdf).getDownloadUrl()
//mendapatkan chat id dari bot panitia ppdb
var id = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("chat_id").getRange(2,1).getValue()
//Mengirim pesan ke panitia ppdb ketika ada pendaftar
var pesan= "Mohon untuk segera dikonfirmasi pendaftar \n"
+"Nama : "+ nama+" \n"
+"SMP : "+ smp+"\n"
+"Pilihan : "+ jurusan+"\n"
+"WA : wa.me/62"+noHp+"?text=*Assalamualikum%2CKami%20dari%20Panitia%20PPDB%20SMK%20Pemalang*%0ABerikut%20ini%20adalah%20bukti%20pendaftaran%20Anda%20%3A\n"
+"Bukti : "+ urlPdf+"\n"
kirimPesan(id,pesan);
}