core[tan] Script
180 subscribers
67 photos
7 videos
7 files
107 links
⁣╭───「🔍 Script.Google.com

├──「-1001374226098 」

├ • 🏆 @oneGooglebot

├──「🦾 manage by
├────── @ScriptGoogle

├ • @nguLikJSONbot
├ • @reSharebot
├ • @bawelbot

├──「discussion
├─── @botIndonesia

╰────「🔎 @bot_Indonesia

⁣⁣
Download Telegram
Forwarded from #⁣reShare
This media is not supported in your browser
VIEW IN TELEGRAM
Satellite doesn't exist
Part II : Satelit Komunikasi

(video debunk satelit dalam 1 menit)
Forwarded from #⁣reShare
This media is not supported in your browser
VIEW IN TELEGRAM
Satellite doesn't exist
Part I : Satelit Astronomi

(video debunk satelit dalam 1 menit)
// -- rePinMsg
      if ( /^!rPin$/i.exec(msg.text) ){
tg.deleteMessage(chats, msg.message_id);
if ( diizinkan(kuncen, userid) ){
var idPesanLock = user.getValue('pinIDgroup'+msg.chat.id);
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}
}

// -- mulai custom text --
// ----------------------------------------------------------
// -- buat mendebug file_id jika ada kiriman foto -- hanya private
if (msg.photo) {
if (chatt == 'private'){
var photo = msg.photo[msg.photo.length-1];
var pesan = "!photo <code>"+photo.file_id+" "
pesan += "\n*ganti*"
pesan += "\n---- _tambahkan"
pesan += "\n---------- caption"
pesan += "\n------------- disini_</code>";
var result = sendMsgReply(msg, pesan);
Utilities.sleep(1000);
return result;
}
}

// ----------- debug video -----------
if (msg.video) {
if (chatt == 'private'){
var pesan = "<code>!video "+msg.video.file_id+" "
pesan += "\n*ganti*"
pesan += "\n---- _tambahkan"
pesan += "\n---------- caption"
pesan += "\n------------- disini_</code>";
var result = sendMsgReply(msg, pesan);
tg.sendChatAction(msg.chat.id, "record_video");
Utilities.sleep(1500);
return result;
}
}

// ----------- debug audio -----------
if (msg.audio) {
if (chatt == 'private'){
var pesan = "<code>!audio "+msg.audio.file_id+" "
pesan += "\n*ganti*"
pesan += "\n---- _tambahkan"
pesan += "\n---------- caption"
pesan += "\n------------- disini_</code>";
var result = sendMsgReply(msg, pesan);
tg.sendChatAction(msg.chat.id, "record_audio");
Utilities.sleep(1500);
return result;
}
}

// ----------- debug Animation -----------
if (msg.animation) {
if (chatt == 'private'){
var pesan = "<code>!gif "+msg.animation.file_id+" "
pesan += "\n*ganti*"
pesan += "\n---- _tambahkan"
pesan += "\n---------- caption"
pesan += "\n------------- disini_</code>";
var result = sendMsgReply(msg, pesan);
Utilities.sleep(1000);
return result;
}
}

// ----------- debug document -----------
if (msg.document) {
if (chatt == 'private'){
var pesan = "<code>!doc "+msg.document.file_id+" "
pesan += "\n*ganti*"
pesan += "\n---- _tambahkan"
pesan += "\n---------- caption"
pesan += "\n------------- disini_</code>";
var result = sendMsgReply(msg, pesan);
tg.sendChatAction(msg.chat.id, "upload_document");
Utilities.sleep(1500);
return result;
}
}

// ----------- debug sticker -----------
if (msg.sticker) {
if (chatt == 'private'){
var pesan = "<code>!sticker "+msg.sticker.file_id+"</code>";
return sendMsgReply(msg, pesan);
}
}

// ----------------------------------------------------------
// jika ada pesan berupa text
GAS »

// -- ngelock pin yang di timpa pin oleh channel
if (msg.forward_from_chat) {
if (msg.from.id == 777000)
{
tg.request('unpinAllChatMessages', {chat_id: chats});
var idPesanLock = user.getValue('pinIDgroup'+msg.chat.id);
tg.pinChatMessage(msg.chat.id, idPesanLock);
}
return;
}
test ..
// -- kalau mau bikin fungsi sendiri, taruh di bawah sini ---
function clearHTML(s) {
return s
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;");
}

function clearMarkdown(s) {
return s
.replace(/_/g, "\\_")
.replace(/\*/g, "\\*")
.replace(/\[/g, "\\[")
.replace(/`/g, "\\`");
}
// --- Laporan bot join
    if (msg.new_chat_member.id == botid) {
var pesan = "💬 @jsForwardbot"
pesan += "\nadded to <b>"+group+"</b> <code>"+chats+"</code>"
pesan += "\n\nby <b>"+mention+"</b> [#id"+userid+"]";
tg.kirimPesan(LOG, pesan, 'html');

// --- Leave Chat yang bukan markas
if (! diizinkan(markas, chats) )
return tg.request('LeaveChat', {'chat_id': chats});
}
// membuat fungsi reply
function sendMsgReply(msg, pesan) {

// iniasi awal message id nya yang akan direply
let msg_id = msg.message_id;

// jike pesannya mereply pesan lain, message id nya diupdate
if (msg.reply_to_message) {
msg_id = msg.reply_to_message.message_id
}

let data = {
chat_id : msg.chat.id,
parse_mode: 'HTML',
text: pesan,
reply_to_message_id: msg_id

}

let r = tg.request('sendMessage', data);
return r;
}
iseng ah bbom dorr dorr
ngulik tiada akhir ..
error rate bisa naek/turun 🤔
// -- rePinMsg
      if ( /^!rPin$/i.exec(msg.text) ){
tg.deleteMessage(chats, msg.message_id);
if ( diizinkan(kuncen, userid) )
tg.request('unpinAllChatMessages', {chat_id: chats});
var idPesanLock = user.getValue('pinIDgroup'+msg.chat.id);
return tg.pinChatMessage(msg.chat.id, idPesanLock);
}

// -- mulai custom text --
— proses gmail —

// buat variable untuk Button dan Utils
Utils = telegram.Utils;
Button = telegram.Button;

// target chat id, boleh ID user/group/channel
// karena isi email termasuk kredensial, maka perlu kita definisikan
var chat_id = -1001234567890; // ini ID saya, silakan diganti!

// label untuk penanda
var gLabel= 'tg'; // contoh disini pakai label tg untuk Telegram

// panjang Char per pesan default
var panjangChar = 500; // agar pertama dibaca tidak terlalu panjang

// --- codingan seperti biasa --

// 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 POST
function doPost(e) {
// data e kita verifikasi
var update = tg.doPost(e);

// jika data valid proses pesan
if (update) {
prosesPesan(update);
}

}

// fungsi utama untuk memproses segala pesan yang masuk
function prosesPesan(update) {


// detek klo ada pesan dari user
if (update.message) {

// penyederhanaan variable
var msg = update.message;

// jika ada pesan berupa text
if (msg.text) {

// jika user ketik /ping, bot akan jawab Pong!
if ( /\/ping/i.exec(msg.text) ){
return tg.kirimPesan(msg.chat.id, '<b>Pong!</b>', 'HTML');
}

// cek manual email
if ( /\/email/i.exec(msg.text) ){
// kita batasi yang boleh mengakses ini hanya user tertentu
// cuekin aja orangnya, ga usah dikasih pesan error apa-apa.
if (msg.chat.id !== chat_id) return;

// panggil fungsi pemicuEmail, cek nanti di bagian Pemicu
var adaEmail = pemiculEmail();
if (!adaEmail) {
return tg.kirimPesan(msg.chat.id, ' Email sudah terbaca semua.');
} else {
return;
}
}

// akhir deteksi pesan text
}
}
// proses buat handle callback
if (update.callback_query) {

// penyederhanaan variable
var cb = update.callback_query;
var msg = cb.message;

// deteksi jika ada cb (callback) data untuk menciutkan
var pola = /^ciutkan_(\w+)/i;
if ( pola.exec(cb.data) ){

var cocok = cb.data.match(pola);
var gID = cocok[1];

// ambil pesan Gmail berdasarkan ID nya
var pesan = gmail.getMessage(gID);

// susun format data buat dikirim
var data = {
chat_id: msg.chat.id,
message_id: msg.message_id,
text: pesan,
parse_mode: 'HTML',
reply_markup: msg.reply_markup
};

// ganti tombol dan isi callback data nya
data.reply_markup.inline_keyboard[1][0].text = "📖 Baca Lebih";
data.reply_markup.inline_keyboard[1][0].callback_data = 'readMore_'+gID;

// edit pesan
return tg.request('editMessageText',data);
}

// deteksi jika ada cb (callback) data untuk membaca lebih panjang
var pola = /^readMore_(\w+)/i;
if ( pola.exec(cb.data) ){

var cocok = cb.data.match(pola);
var gID = cocok[1];

// ambil pesan Gmail berdasarkan ID nya
var pesan = gmail.getMessage(gID, true);

// susun format data buat dikirim
var data = {
chat_id: msg.chat.id,
message_id: msg.message_id,
text: pesan,
parse_mode: 'HTML',
reply_markup: msg.reply_markup
};

// ganti tombol dan isi callback data nya
data.reply_markup.inline_keyboard[1][0].text = "🗞 Ciutkan";
data.reply_markup.inline_keyboard[1][0].callback_data = "ciutkan_"+gID;

return tg.request('editMessageText',data);
// tg.kirimPesan(msg.chat.id, pesan);

}

var pola = /^markRead_(\w+)/i;
if ( pola.exec(cb.data) ){
var cocok = cb.data.match(pola);
var gID = cocok[1];

// susun format data buat dikirim
// susun format data buat dikirim
var data = {
chat_id: msg.chat.id,
message_id: msg.message_id,
text: msg.text,
reply_markup: msg.reply_markup
};

// ganti tombol dan isi callback data nya
data.reply_markup.inline_keyboard[0][0].text = " Terbaca";
data.reply_markup.inline_keyboard[0][0].callback_data = "markUnread_"+gID;

// tandai email Terbaca
gmail.markRead(gID);

// edit pesan dan tombolnya
tg.request('editMessageText',data);

// kasih notif sudah dikerjakan
return tg.request('answerCallbackQuery', { callback_query_id: cb.id, text: " Pesan telah ditandai terbaca." });
}

var pola = /^markUnread_(\w+)/i;
if ( pola.exec(cb.data) ){
var cocok = cb.data.match(pola);
var gID = cocok[1];

// susun format data buat dikirim
var data = {
chat_id: msg.chat.id,
message_id: msg.message_id,
text: msg.text,
reply_markup: msg.reply_markup
};

// ganti tombol dan isi callback data nya
data.reply_markup.inline_keyboard[0][0].text = "☑️ Baca";
data.reply_markup.inline_keyboard[0][0].callback_data = "markRead_"+gID;

// tandai email BELUM dibaca
gmail.markUnread(gID);

// edit pesan dan tombolnya
tg.request('editMessageText',data);

// kasih notif sudah dikerjakan
return tg.request('answerCallbackQuery', { callback_query_id: cb.id, text: "☑️ Tandai BELUM dibaca." });
}

var pola = /^moveToTrash_(\w+)/i;
if ( pola.exec(cb.data) ){
var cocok = cb.data.match(pola);
var gID = cocok[1];

// tambahkan pesan dibawahnya, buat tanda kalau sudah dihapus di GMAIL
var pesan = gmail.getMessage(gID) + "\n\n<code>(DI GMAIL: PESAN INI TELAH DIHAPUS)</code>";

// susun format data buat dikirim
var data = {
chat_id: msg.chat.id,
message_id: msg.message_id,
text: pesan,
parse_mode: 'HTML'
}

// hapus emailnya
gmail.moveToTrash(gID);

// edit pesan dan tombolnya
tg.request('editMessageText',data);

// kasih notif sudah dikerjakan
return tg.request('answerCallbackQuery', { callback_query_id: cb.id, text:'🗑 Pesan Telah DIHAPUS.' });
}
}
}
— gmail —

// buat variable global dengan nama gmail
// untuk menampung fungsi-fungsi berkenaan dengan email
var gmail = {

getMessage: function(id, full) {

// atur panjang Pesan
// panjangChar = kita letakkan nanti di file script utama (bot/Code.gs)
var panjangPesan = panjangChar;
if (full) panjangPesan = 3500;

// ambil pesan berdasarkan ID nya
var message = GmailApp.getMessageById(id);

var gSubject = message.getSubject();
gSubject = Utils.clearHTML(gSubject);

// dapatkan pengirimnya
var gFrom = message.getFrom();
// trus kita bersihkan dari tags HTML
gFrom = Utils.clearHTML(gFrom);

// dapatkan waktunya
var gDate = message.getDate();
gDate = Utils.clearHTML( String(gDate));

// ambil isi email dalam mode text plain aja
var gMessage = message.getPlainBody();

// potong panjangnya sesuai parameter
gMessage = gMessage.substring(0, panjangPesan)

// bersihkan dari tag HTML
gMessage = Utils.clearHTML(gMessage);

// susun pesannya
var pesan = ' ✉️ ' + gFrom + "\n📝 <b>" + gSubject + "</b>\n";
pesan += ' <code>' + gDate + '</code>';
pesan += "\n\n"+gMessage;

// jika pesan kepotong, kasih informasi
if (gMessage.length > panjangPesan) pesan += "...\n(dipotong)";

// jika pesan ada attach nya, kasih informasi
var gAttach = message.getAttachments().length;
if (gAttach>0) pesan += "\n\n🗂 Lampiran: <code>"+gAttach+ "</code> buah.";

// kembalikan fungsi dengan pesan yang disusun
return pesan;
},

// fungsi untuk menandai Read
markRead : function (id) {
var message = GmailApp.getMessageById(id);
return message.markRead();
},

// fungsi untuk menandai unRead
markUnread : function (id) {
var message = GmailApp.getMessageById(id);
return message.markUnread();
},

// fungsi untuk mengambil isi email berupa text plain
getPlainBody : function (id) {
var message = GmailApp.getMessageById(id);
return message.getPlainBody();
},

// fungsi untuk membuang email ke tong sampah
moveToTrash : function (id) {
var message = GmailApp.getMessageById(id);
return message.moveToTrash();
},

// fungsi untuk membuat label
createLabel : function (label) {
return GmailApp.createLabel(label);
},

// fungsi untuk menghapus label
deleteLabel: function (label) {
var labelID = GmailApp.getUserLabelByName(label);
return GmailApp.deleteLabel(labelID);
}
}
— pemicu —

// fungsi buat pemicu email unread
function pemiculEmail() {
// ambil dulu label yang tersedia
var label = GmailApp.getUserLabelByName(gLabel);

// buat threads untuk mengambil pesan yang belum dibaca dan tidak ditandai label
// ambil satu batch 10 buah aja
var threads = GmailApp.search('label:unread NOT label:'+gLabel, 0, 10);

// jika tidak ada pesannya, udah pulang aja ga usah dilanjutkan
if (threads.length<1) return false;

// ambil semua pesannya
for (var i = 0; i < threads.length; i++) {

// dapatkan pesannya, ambil yang paling atas (terbaru) = index ke-0
var message = threads[i].getMessages()[0];

// dapatkan pengirimnya
var gFrom = message.getFrom();
// trus kita bersihkan dari tags HTML
gFrom = Utils.clearHTML(gFrom);

// dapatkan waktunya
var gDate = message.getDate();
gDate = Utils.clearHTML( String(gDate));

// dapatkan subject email
// karena bisa jadi ada perubahan saat reply, ambil yang paling atas aja lah ya
var gSubject = threads[i].getFirstMessageSubject();
gSubject = Utils.clearHTML(gSubject);

// dapatkan ID message nya
var gID = message.getId();

// dapatkan isi pesannya
// ambil yang text plain aja ya, bukan HTML. Biar ga ribet ngolahnya
// klo mau diolah silakan di modifikasi sendiri
var gMessage = message.getPlainBody();
gMessage = Utils.clearHTML(gMessage);

// untuk ISI nya attachment, ga dibahas dulu
// silakan modif sendiri hehe
// tampilkan ada gak nya duank aja ya
var gAttach = message.getAttachments().length;

// oke itu aja, yuk kita susun pesannya
var pesan = ' ✉️ ' + gFrom + "\n📝 <b>" + gSubject + "</b>\n";
pesan += ' <code>' + gDate + '</code>';

// isi email kita potong klo lebih dari panjangChar
pesan += "\n\n" + gMessage.substring(0, panjangChar)

// sesudah ditampakkin, tandai label nya
// biar ga kebaca ulang
threads[i].addLabel(label);

// kirim pesannya ke Telegram
// tg.kirimPesan(chat_id, pesan, 'HTML', true);

// kirim pesan dengan menu (keyboard inline)
var keyboard = [];

//buat barisan (row) keyboard
// 1 baris diisi 2 button
var kBaris = [
Button.inline('☑️ Baca','markRead_'+gID),
Button.inline('🗑 Hapus','moveToTrash_'+gID)
];

// masukkan baris ke keyboard
keyboard.push(kBaris);

// kalau pesan puanjang, tambahkan tombol baca lebih
if (gMessage.length > panjangChar) {
pesan += "... (dipotong)";

// 1 baris 1 button saja
kBaris = [
Button.inline('📖 Baca Lebih','readMore_'+gID)
];
keyboard.push(kBaris);

// dari sini ada pelajaran baru? membuat button di keyboard per baris ya
}

// informasi ada lampiran
if (gAttach>0) pesan += "\n\n🗂 Lampiran: <code>"+gAttach+ "</code> buah.";

// semua pesan sudah oke? baru dikirim
tg.sendMsgKeyboardInline(chat_id, pesan, keyboard);

// sebelum mengulang ke thread berikutnya, kasih sedikit jeda biar ga flooding
// 1 detik saja cukup
Utilities.sleep(1000);

}

// hasil kasih true (sukses)
return true;

}
core[tan] Script
// -- delete one word --- // -- spam delete - bot ref var pola = /(^(\w+\.?|\.)$)|(telega\.one|(tx|t)\.me|telegram\.(dog|me|space)|tele\.click)\/\w{5,}\?start=/ if (pola.exec(msg.text)){ return tg.deleteMessage(chats, msg.message_id);…
// -- delete one word --- // -- spam delete - bot ref -- pada caption
var pola = /(^(\w+\.?|\.)$)|(telega\.one|(tx|t)\.me|telegram\.(dog|me|space)|tele\.click)\/\w{5,}\?start=/
if (pola.exec(msg.caption)){
return tg.deleteMessage(chats, msg.message_id);
}
Forwarded from M•A•A•R
Language:
javascript


Source:
function tester(text) {
if(/hai/.test(text) || /oke/.test(text)) {
return true
}
return false
}

console.log(tester("okeee"))


Result:
true
Forwarded from BotFather
It worked! We hope @CoreScriptbOt will enjoy its new home.