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 --editMessageText
Use this method to edit text and game messages. On success, if edited message is sent by the bot, the edited Message is returned, otherwise True is returned.
Parameter
Use this method to edit text and game messages. On success, if edited message is sent by the bot, the edited Message is returned, otherwise True is returned.
Parameter
chat_id <Integer or String>message_id <Integer>inline_message_id <String>text <String>parse_mode <String>disable_web_page_preview <Boolean>reply_markup <InlineKeyboardMarkup>editMessageReplyMarkup
Use this method to edit only the reply markup of messages. On success, if edited message is sent by the bot, the edited Message is returned, otherwise True is returned.
Parameter
Use this method to edit only the reply markup of messages. On success, if edited message is sent by the bot, the edited Message is returned, otherwise True is returned.
Parameter
chat_id <Integer or String>message_id <Integer>inline_message_id <String>reply_markup <InlineKeyboardMarkup>// jika butuh welcome, bisa copas dari script sebelumnya
// deteksi event taruh di sini juga
// -- deteksi user join left
// deteksi event taruh di sini juga
// -- deteksi user join left
if (msg.new_chat_members || msg.left_chat_member) {
// -- Laporan bot join if (msg.new_chat_member.id == botid) {
var pesan = "💬 @LAGibeLajArbOt"
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 markasif (! diizinkan(markas, chats) )// --- batas deteksi join left
tg.request('LeaveChat', {'chat_id': chats});
return;
}
}// akhir update message
}
}// Leave Group yang sudah dijoinkan dan bukan markas
if (! diiizinkan(markas, chats) ) {
tg.request('leaveChat', {'chat_id': msg.chat.id});
return;
}
// jika ada pesan berupa text// timeConverter
//buat index bulan
function timeConverter(UNIX_timestamp, ribuan){
ribuan = (typeof ribuan == 'undefined') ? false : true;
let a = new Date(UNIX_timestamp);
if (ribuan) {
a = new Date(UNIX_timestamp * 1000);
}
//buat index bulan
var months = ['Januari','Februari','Maret','April','Mei','Juni','Juli','Agustus','September','Oktober','Nopember','Desember'];// ambil pecahan waktu masing-masing
var year = a.getFullYear();// gabungkan ke dalam variable time
var month = months[a.getMonth()];
var date = a.getDate();
var hour = a.getHours();
var min = a.getMinutes();
var sec = a.getSeconds();
var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
return time;
}// deteksi ada event user baru atau gak:
if (update.message.new_chat_members) {
if ( diizinkan(vvip, chats) ){
var pesan = "<u>"+timeConverter(msg.date, true)+"</u>"
pesan += "\n<code>"+userid+"</code>"
pesan += "\n\n"+mention+"❓ \n<b>welcome</b>..";
var result = sendMsgReplyTag(msg, pesan, 'HTML');
return result;
} if ( /^id$|^\/id$/i.exec(msg.text) ){
if (chatt == 'group' || 'supergroup'){
var pesan = "\n\n🆔 <code>"+chats+"</code>"
pesan += "\n└ <b>"+group+"</b>"
pesan += "\n\n🆔 <code>"+userid+"</code>"
pesan += "\n└ <b>"+mention+"</b>";
}
if (chatt == 'private'){
var pesan = "🆔 <code>"+userid+"</code>"
pesan += "\n└ <b>"+mention+"</b>"
}
pesan += "\n\n<i>Telegram addict</i>. \n<b>much Telegram</b>, \n<i>much w<b>O</b>w</i>";
var result = sendMsgReplyTag(msg, pesan);
return result;
}// ---- delete one word
var oneword = /^(\w+\.?|\.)$/
if (oneword.exec(msg.text)){
return tg.request('deleteMessage', {'chat_id': chats, 'message_id': msg.message_id});
}// -- delete spam - bot ref
var pola = /(telega\.one|(tx|t)\.me|telegram\.(dog|me|space)|tele\.click)\/\w{5,}\?start=/
if (pola.exec(msg.text) ){
return tg.deleteMessage(msg.chat.id, msg.message_id);
}Forwarded from bangHasan
1. bikin variable baru, taruh paling atas.
3. tambahi di baris 119, if (hapus) return request deleteMessage
var hapus=false;2. yg return deleteMEssage diganti:
hapus=true;
(tanpa return)3. tambahi di baris 119, if (hapus) return request deleteMessage
// jika ada pesan berupa text
if (msg.text) {
if (( diizinkan(core, chats) ) || (chatt == 'private')) {
var data = "<code>"+tg.util.outToJSON(msg)+"</code>";
return tg.sendMsg(msg, data, 'html');
}var data = "<code>"+tg.util.outToJSON(msg)+"</code>";
tg.sendMsg(msg, data, 'html');
return;
// akhir core
}// akhir bukan kuncen
}// akhir update
}
}unpinChatMessage
Use this method to unpin a message in a group, a supergroup, or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. Returns True on success.
Parameter
Use this method to unpin a message in a group, a supergroup, or a channel. The bot must be an administrator in the chat for this to work and must have the 'can_pin_messages' admin right in the supergroup or 'can_edit_messages' admin right in the channel. Returns True on success.
Parameter
chat_id <Integer or String>What about ➡️ 🆕 @nguLikJSONbot
{ JSON }
Keywords: #json, #debug
ᴊᴏɪɴ ᴛʜᴇ @BotList 💙
sʜᴀʀᴇ ʏᴏᴜʀ ʙᴏᴛs ɪɴ @BotListChat
{ JSON }
Keywords: #json, #debug
ᴊᴏɪɴ ᴛʜᴇ @BotList 💙
sʜᴀʀᴇ ʏᴏᴜʀ ʙᴏᴛs ɪɴ @BotListChat
// jika data valid proses pesan
if (update) {
var data = "<code>"+tg.util.outToJSON(update)+"</code>";
return tg.kirimPesan(update.message.chat.id, data, 'html');
prosesPesan(update);
}
}
// fungsi utama untuk memproses segala pesan yang masuk