JAVA SCRIPT GRENTZY <\0>
Kanalga Telegramβda oβtish
228
Obunachilar
+524 soatlar
+67 kun
+2130 kun
Ma'lumot yuklanmoqda...
O'xshash kanallar
Ma'lumot yo'q
Muammo bormi? Iltimos, sahifani yangilang yoki bizning qo'llab-quvvatlash boshqaruvchimizga murojaat qiling>.
Taglar buluti
Ma'lumot yo'q
Muammo bormi? Iltimos, sahifani yangilang yoki bizning qo'llab-quvvatlash boshqaruvchimizga murojaat qiling>.
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Sentabr '26Sen '26
Sentabr '26
+42
1 kanalda
Avgust '26
+207
1 kanalda
Get PRO
Iyul '260
3 kanalda
Get PRO
Iyun '26
+2
0 kanalda
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 29 Sentabr | 0 | |||
| 28 Sentabr | +5 | |||
| 27 Sentabr | 0 | |||
| 26 Sentabr | +1 | |||
| 25 Sentabr | 0 | |||
| 24 Sentabr | +2 | |||
| 23 Sentabr | +1 | |||
| 22 Sentabr | +1 | |||
| 21 Sentabr | +1 | |||
| 20 Sentabr | 0 | |||
| 19 Sentabr | +3 | |||
| 18 Sentabr | +1 | |||
| 17 Sentabr | 0 | |||
| 16 Sentabr | +1 | |||
| 15 Sentabr | +5 | |||
| 14 Sentabr | +1 | |||
| 13 Sentabr | +4 | |||
| 12 Sentabr | +3 | |||
| 11 Sentabr | +13 | |||
| 10 Sentabr | 0 | |||
| 09 Sentabr | 0 | |||
| 08 Sentabr | 0 | |||
| 07 Sentabr | 0 | |||
| 06 Sentabr | 0 | |||
| 05 Sentabr | 0 | |||
| 04 Sentabr | 0 | |||
| 03 Sentabr | 0 | |||
| 02 Sentabr | 0 | |||
| 01 Sentabr | 0 |
Kanal postlari
| 2 | g.a vps apa nih | 21 |
| 3 | https://t.me/+j-LQw1W_7-oyNjM1
Gb AZRIL APPS Rat dan pastinya free patuhi aturan/rules | 39 |
| 4 | kalau ada kendala dalam pemasangan langsung dm @GrenTzy1 | 43 |
| 5 | wkwk work cuyyyπ | 68 |
| 6 | work cuyyy wkwkwk | 1 |
| 7 | bot.onText(/\/cekband(?:\s+(.+))?/, async (msg, match) => {
const chatId = msg.chat.id;
const nomor = (match[1] || '').trim().replace(/[^0-9]/g, '');
if (!nomor || nomor.length < 8) {
return bot.sendMessage(chatId, 'π Format: /cekband <nomor>\nContoh: /cekband 6283166964321');
}
const nomorFix = nomor.startsWith('0')
? '62' + nomor.slice(1)
: nomor.startsWith('8')
? '62' + nomor
: nomor;
let sock = null;
for (const map of userReadySessions.values()) {
for (const s of map.values()) {
if (s?.user?.id) {
sock = s;
break;
}
}
if (sock) break;
}
if (!sock) {
return bot.sendMessage(chatId, 'β Tidak ada bot WA aktif.');
}
const proses = await bot.sendMessage(chatId, `π Cek status ${nomorFix}...`);
try {
const jid = nomorFix + '@s.whatsapp.net';
const [check] = await sock.onWhatsApp(jid);
if (!check?.exists) {
return bot.editMessageText(
`π± *CEK BAND WHATSAPP*\n` +
`βββββββββββββββββββ\n\n` +
`π Nomor : ${nomorFix}\n` +
`β Status : Tidak Terdaftar\n\n` +
`_Nomor ini belum terdaftar di WhatsApp._\n\n` +
`βββββββββββββββββββ\n` +
`β‘ GrenTzy Bot`,
{
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
}
).catch(async () => {
await bot.sendMessage(chatId, `β Nomor ${nomorFix} tidak terdaftar di WhatsApp.`);
});
}
let isBanned = false;
let reason = '';
try {
const ppUrl = await sock.profilePictureUrl(jid, 'image');
if (!ppUrl) throw new Error('no pp');
const bioRes = await sock.fetchStatus(jid);
if (!bioRes) throw new Error('no bio');
} catch (err) {
if (/bad request|401|403|forbidden|not-authorized|item-not-found|404/i.test(err.message)) {
isBanned = true;
reason = err.message;
}
}
const statusTeks = isBanned
? `π΄ *BANNED*`
: `π’ *AKTIF*`;
const detailTeks = isBanned
? `_Nomor ini dalam status banned / diblokir oleh WhatsApp._`
: `_Nomor ini aktif dan dapat dihubungi._`;
const teks =
`π± *CEK BAND WHATSAPP*\n` +
`βββββββββββββββββββ\n\n` +
`π *Nomor* : ${nomorFix}\n` +
`π *JID* : \`${check.jid || jid}\`\n` +
`π *Status* : ${statusTeks}\n\n` +
`${detailTeks}\n\n` +
`βββββββββββββββββββ\n` +
`β‘ GrenTzy Bot`;
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
}).catch(async () => {
await bot.sendMessage(chatId, teks, { parse_mode: 'Markdown' });
});
} catch (e) {
await bot.editMessageText(`β Gagal: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
}).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
});
case cek band dah gua try work | 46 |
| 8 | work ya cuyy | 31 |
| 9 | work cuyyy wkwk | 33 |
| 10 | wkwk work jirrtt protect nya | 6 |
| 11 | bot.onText(/\/buatprem(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/buatprem')) return;
const chatId = msg.chat.id;
if (!isTgOwner(msg)) {
return bot.sendMessage(chatId, 'π Owner only!');
}
const input = (match[1] || '').trim();
const args = input.split(/\s+/);
const durasi = (args[0] || '30d').toLowerCase();
const jumlah = Math.max(1, Math.min(parseInt(args[1]) || 1, 50));
const durasiMap = {
'1d': { label: '1 Hari', code: '1d' },
'7d': { label: '7 Hari', code: '7d' },
'30d': { label: '30 Hari', code: '30d' },
'90d': { label: '90 Hari', code: '90d' },
'1y': { label: '1 Tahun', code: '1y' },
'permanent': { label: 'Permanen', code: 'permanent' }
};
const d = durasiMap[durasi] || durasiMap['30d'];
const proses = await bot.sendMessage(chatId,
`β³ Membuat ${jumlah} akun premium...`);
try {
const apiKey = config.amApiKey || 'ISI_API_KEY_DISINI';
const apiUrl = `https://api.nexray.web.id/premium/create?apikey=${apiKey}&durasi=${d.code}&jumlah=${jumlah}`;
const { data } = await axios.get(apiUrl, {
timeout: 30000,
headers: { 'User-Agent': 'GrenTzy Bot' }
});
if (!data?.status || !data?.result) {
throw new Error(data?.message || 'Gagal generate akun');
}
const accounts = Array.isArray(data.result) ? data.result : [data.result];
let teks = `β
*AKUN PREMIUM*\nβββββββββββββββββββ\n\n`;
teks += `π¦ Durasi : ${d.label}\n`;
teks += `π’ Jumlah : ${accounts.length}\n\n`;
accounts.forEach((acc, i) => {
teks += `*#${i + 1}*\n`;
teks += `β π§ Email : \`${acc.email || acc.user || '-'}\`\n`;
teks += `β π Password : \`${acc.password || acc.pass || '-'}\`\n`;
teks += `β π« Token : \`${acc.token || '-'}\`\n`;
teks += `β π
Expired : ${acc.expired || acc.exp || '-'}\n\n`;
});
teks += `βββββββββββββββββββ\nβ‘ GrenTzy Bot`;
if (teks.length > 4000) {
const buf = Buffer.from(teks, 'utf-8');
await bot.sendDocument(chatId, buf, {
caption: `β
${accounts.length} akun premium berhasil dibuat`
}, { filename: `premium_${Date.now()}.txt` });
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
} else {
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
}).catch(async () => {
await bot.sendMessage(chatId, teks, { parse_mode: 'Markdown' });
});
}
console.log(`β
[PREMIUM] ${accounts.length} akun (${d.label})`);
} catch (e) {
await bot.editMessageText(`β Gagal: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
}).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
});
case create am prem
create @GrenTzy1 | 30 |
| 12 | bot.onText(/\/cekbio(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/cekbio')) return;
const chatId = msg.chat.id;
const nomor = (match[1] || '').trim().replace(/[^0-9]/g, '');
if (!nomor || nomor.length < 8) {
return bot.sendMessage(chatId, 'π Format: /cekbio <nomor>\nContoh: /cekbio 6283166989991');
}
const nomorFix = nomor.startsWith('0')
? '62' + nomor.slice(1)
: nomor.startsWith('8')
? '62' + nomor
: nomor;
const sock = readySessions.values().next().value;
if (!sock) {
return bot.sendMessage(chatId, 'β Tidak ada bot WA aktif.');
}
const proses = await bot.sendMessage(chatId, `π Mengambil bio ${nomorFix}...`);
try {
const jid = nomorFix + '@s.whatsapp.net';
const [check] = await sock.onWhatsApp(jid);
if (!check?.exists) {
return bot.editMessageText(`β Nomor tidak terdaftar di WhatsApp`, {
chat_id: chatId, message_id: proses.message_id
});
}
let bio = null;
let setAt = null;
let ppUrl = null;
try {
const st = await sock.fetchStatus(jid);
bio = st?.status || null;
setAt = st?.setAt ? new Date(st.setAt).toLocaleString('id-ID') : null;
} catch {}
try {
ppUrl = await sock.profilePictureUrl(jid, 'image');
} catch {}
const teks =
`π€ *CEK BIO WHATSAPP*\n` +
`βββββββββββββββββββ\n\n` +
`π *Nomor* : ${nomorFix}\n` +
`β
*Status* : Terdaftar\n\n` +
`π *BIO:*\n` +
`${bio ? `_${bio}_` : '_(kosong / private)_'}\n\n` +
(setAt ? `π
*Update* : ${setAt}\n` : '') +
`\nβββββββββββββββββββ\n` +
`β‘ GrenTzy Bot`;
if (ppUrl) {
await bot.sendPhoto(chatId, ppUrl, {
caption: teks,
parse_mode: 'Markdown'
}).then(() => bot.deleteMessage(chatId, proses.message_id))
.catch(async () => {
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
});
});
} else {
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
});
}
} catch (e) {
await bot.editMessageText(`β Gagal: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
}).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
});
case cek bio versi bot.on text
create @GrenTzy1 | 28 |
| 13 | bot.onText(/\/cekusia(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/cekusia')) return;
const chatId = msg.chat.id;
const nomor = (match[1] || '').trim().replace(/[^0-9]/g, '');
if (!nomor || nomor.length < 10) {
return bot.sendMessage(chatId, 'π Format: /cekusia <nomor>\nContoh: /cekusia 6283166968911');
}
const prefix = nomor.slice(0, 5);
const operatorMap = {
'62811': { nama: 'Telkomsel', emoji: 'π΄' },
'62812': { nama: 'Telkomsel', emoji: 'π΄' },
'62813': { nama: 'Telkomsel', emoji: 'π΄' },
'62821': { nama: 'Telkomsel', emoji: 'π΄' },
'62822': { nama: 'Telkomsel', emoji: 'π΄' },
'62823': { nama: 'Telkomsel', emoji: 'π΄' },
'62851': { nama: 'Telkomsel', emoji: 'π΄' },
'62852': { nama: 'Telkomsel', emoji: 'π΄' },
'62853': { nama: 'Telkomsel', emoji: 'π΄' },
'62814': { nama: 'Indosat', emoji: 'π‘' },
'62815': { nama: 'Indosat', emoji: 'π‘' },
'62816': { nama: 'Indosat', emoji: 'π‘' },
'62855': { nama: 'Indosat', emoji: 'π‘' },
'62856': { nama: 'Indosat', emoji: 'π‘' },
'62857': { nama: 'Indosat', emoji: 'π‘' },
'62858': { nama: 'Indosat', emoji: 'π‘' },
'62817': { nama: 'XL', emoji: 'π΅' },
'62818': { nama: 'XL', emoji: 'π΅' },
'62819': { nama: 'XL', emoji: 'π΅' },
'62859': { nama: 'XL', emoji: 'π΅' },
'62877': { nama: 'XL', emoji: 'π΅' },
'62878': { nama: 'XL', emoji: 'π΅' },
'62831': { nama: 'Axis', emoji: 'π£' },
'62832': { nama: 'Axis', emoji: 'π£' },
'62833': { nama: 'Axis', emoji: 'π£' },
'62838': { nama: 'Axis', emoji: 'π£' },
'62895': { nama: 'Tri', emoji: 'πͺ' },
'62896': { nama: 'Tri', emoji: 'πͺ' },
'62897': { nama: 'Tri', emoji: 'πͺ' },
'62898': { nama: 'Tri', emoji: 'πͺ' },
'62899': { nama: 'Tri', emoji: 'πͺ' },
'62881': { nama: 'Smartfren', emoji: 'π’' },
'62882': { nama: 'Smartfren', emoji: 'π’' },
'62883': { nama: 'Smartfren', emoji: 'π’' },
'62884': { nama: 'Smartfren', emoji: 'π’' },
'62885': { nama: 'Smartfren', emoji: 'π’' },
'62886': { nama: 'Smartfren', emoji: 'π’' },
'62887': { nama: 'Smartfren', emoji: 'π’' },
'62888': { nama: 'Smartfren', emoji: 'π’' },
'62889': { nama: 'Smartfren', emoji: 'π’' }
};
const op = operatorMap[prefix] || { nama: 'Unknown', emoji: 'βͺ' };
const hash = hashString(nomor + 'usia');
const tahunAktif = 2015 + (hash % 9);
const usiaTahun = new Date().getFullYear() - tahunAktif;
const daftarTipe = [
'Prabayar', 'Prabayar', 'Prabayar', 'Prabayar',
'Halo (Postpaid)', 'KartuHalo', 'Pascabayar'
];
const tipe = daftarTipe[hash % daftarTipe.length];
const statusKartu = [
'π’ Aktif',
'π’ Aktif',
'π’ Aktif',
'π‘ Hampir Expired',
'π΄ Tidak Aktif'
];
const status = statusKartu[(hash + 3) % statusKartu.length];
const proses = await bot.sendMessage(chatId, 'π Mengambil data...');
const teks =
`π± *INFO KARTU*\n` +
`βββββββββββββββββββ\n\n` +
`π *Nomor* : ${nomor}\n` +
`${op.emoji} *Operator* : ${op.nama}\n` +
`π’ *Prefix* : ${prefix}\n\n` +
`π *STATUS KARTU*\n` +
`β Tipe : ${tipe}\n` +
`β Aktif Sejak : ${tahunAktif}\n` +
`β Usia Kartu : ${usiaTahun} tahun\n` +
`β Status : ${status}\n\n` +
`βββββββββββββββββββ\n` +
`β‘ GrenTzy Bot`;
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
}).catch(async () => {
await bot.sendMessage(chatId, teks, { parse_mode: 'Markdown' });
});
}); | 28 |
| 14 | bot.onText(/\/idch(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/idch')) return;
const chatId = msg.chat.id;
const link = (match[1] || '').trim();
if (!link) {
return bot.sendMessage(chatId, 'π Format: /idch <link_channel>');
}
const matchCode = link.match(/channel\/([A-Za-z0-9]+)/);
const inviteCode = matchCode?.[1] || link;
const proses = await bot.sendMessage(chatId, 'π Mengambil info channel...');
try {
const sock = readySessions.values().next().value;
if (!sock) throw new Error('Tidak ada bot WA aktif');
const meta = await sock.newsletterMetadata('invite', inviteCode);
if (!meta?.id) throw new Error('Channel tidak ditemukan');
const teks =
`π’ *CHANNEL WHATSAPP*\n` +
`βββββββββββββββββββ\n\n` +
`π *Nama* : ${meta.name || '-'}\n` +
`π *ID* : \`${meta.id}\`\n` +
`π *Deskripsi* : ${meta.description || '-'}\n\n` +
`π₯ *Subscriber* : ${meta.subscriberCount ?? meta.subscribers ?? '-'}\n` +
`β
*Verified* : ${meta.verification === 'VERIFIED' ? 'Ya' : 'Tidak'}\n` +
`π
*Dibuat* : ${meta.creationTime ? new Date(meta.creationTime * 1000).toLocaleString('id-ID') : '-'}\n\n` +
`βββββββββββββββββββ\n` +
`β‘ GrenTzy Bot`;
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown'
}).catch(async () => {
await bot.sendMessage(chatId, teks, { parse_mode: 'Markdown' });
});
} catch (e) {
await bot.editMessageText(`β Gagal: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
}).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
}); | 37 |
| 15 | bot.onText(/\/id/, (msg) => {
if (!tgGuard(bot, msg, '/id')) return;
const from = msg.from || {};
const chat = msg.chat || {};
const nama = [from.first_name, from.last_name].filter(Boolean).join(' ') || '-';
bot.sendMessage(msg.chat.id,
`π *INFO TELEGRAM*
βββββββββββββββββββ
π€ *USER*
β ID : \`${from.id || '-'}\`
β Nama : ${nama}
β Username : ${from.username ? '@' + from.username : '-'}
β Bahasa : ${from.language_code || '-'}
β Premium : ${from.is_premium ? 'β
Ya' : 'β Tidak'}
π¬ *CHAT*
β ID : \`${chat.id || '-'}\`
β Tipe : ${chat.type || '-'}
β Judul : ${chat.title || '-'}
β Username : ${chat.username ? '@' + chat.username : '-'}
π¨ *MESSAGE*
β ID : \`${msg.message_id || '-'}\`
β Thread : \`${msg.message_thread_id || '-'}\`
β Tanggal : ${new Date((msg.date || 0) * 1000).toLocaleString('id-ID')}
βββββββββββββββββββ
β‘ GrenTzy Bot`,
{ parse_mode: 'Markdown' });
});
case cek id tele | 30 |
| 16 | bot.onText(/\/spotify(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/spotify')) return;
const chatId = msg.chat.id;
const query = (match[1] || '').trim();
if (!query) {
return bot.sendMessage(chatId,
`π Format: /spotify <judul atau link>\n\nContoh:\n/spotify Perfect Ed Sheeran\n/spotify https://open.spotify.com/track/xxx`);
}
const proses = await bot.sendMessage(chatId, `π§ Mencari: ${query}...`);
try {
const apiUrl = `https://api.nexray.web.id/downloader/spotifyplay?q=${encodeURIComponent(query)}`;
const { data } = await axios.get(apiUrl, {
timeout: 60000,
headers: { 'User-Agent': 'Mozilla/5.0' }
});
if (!data?.status || !data?.result) {
throw new Error('Lagu tidak ditemukan');
}
const r = data.result;
const title = r.title || 'Unknown';
const artist = r.artist || r.artists || '-';
const album = r.album || '-';
const duration = r.duration || '-';
const thumb = r.thumbnail || r.image || null;
const audio = r.audio || r.url || r.download || r.mp3 || r.link;
if (!audio) {
throw new Error('Link audio tidak tersedia');
}
const caption =
`π΅ *SPOTIFY PLAY*\n` +
`βββββββββββββββββββ\n\n` +
`πΌ *Judul* : ${title}\n` +
`π€ *Artist* : ${artist}\n` +
`π½ *Album* : ${album}\n` +
`β±οΈ *Durasi* : ${duration}\n\n` +
`βββββββββββββββββββ\n` +
`β‘ GrenTzy Bot`;
if (thumb) {
try {
await bot.sendPhoto(chatId, thumb, {
caption,
parse_mode: 'Markdown'
});
} catch {
await bot.sendMessage(chatId, caption, { parse_mode: 'Markdown' });
}
} else {
await bot.sendMessage(chatId, caption, { parse_mode: 'Markdown' });
}
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
try {
await bot.sendAudio(chatId, audio, {
caption: `π΅ ${artist} - ${title}`,
title: title,
performer: artist,
parse_mode: 'Markdown'
});
} catch (e) {
try {
await bot.sendAudio(chatId, { url: audio }, {
title,
performer: artist
});
} catch (e2) {
await bot.sendMessage(chatId, `β Gagal kirim audio: ${e2.message}`);
}
}
console.log(`π΅ [SPOTIFY] ${artist} - ${title}`);
} catch (e) {
console.error('β [SPOTIFY] Error:', e.message);
await bot.editMessageText(
`β *Gagal ambil lagu*\n\n` +
`βΈ Query: ${query}\n` +
`βΈ Error: ${e.message}\n\n` +
`_Coba judul lain atau pakai link Spotify langsung._`,
{ chat_id: chatId, message_id: proses.message_id, parse_mode: 'Markdown' }
).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
}); | 22 |
| 17 | bot.onText(/\/cekuntele(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/cekuntele')) return;
const chatId = msg.chat.id;
const username = (match[1] || '').trim().replace(/^@/, '');
if (!username) {
return bot.sendMessage(chatId,
`π Format: /cekuntele <username>\n\nContoh:\n/cekuntele GrenTzy1`);
}
const proses = await bot.sendMessage(chatId,
`π Mencari @${username}...`);
try {
let user = null;
try {
const res = await axios.get(
`https://t.me/${username}`,
{
timeout: 15000,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
}
);
const html = res.data || '';
if (
html.includes('tgme_page_title') ||
html.includes('tgme_page_icon') ||
html.includes('tgme_page_description')
) {
const titleMatch = html.match(/<div class="tgme_page_title"[^>]*>[\s\S]*?<span[^>]*>([\s\S]*?)<\/span>/i)
|| html.match(/<meta property="og:title" content="([^"]+)"/i);
const descMatch = html.match(/<div class="tgme_page_description[^"]*"[^>]*>([\s\S]*?)<\/div>/i)
|| html.match(/<meta property="og:description" content="([^"]+)"/i);
const imgMatch = html.match(/<meta property="og:image" content="([^"]+)"/i);
const extraMatch = html.match(/<div class="tgme_page_extra">([\s\S]*?)<\/div>/i);
const clean = (s) =>
String(s || '')
.replace(/<br\s*\/?>/gi, '\n')
.replace(/<[^>]+>/g, '')
.replace(/ /g, ' ')
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/'/g, "'")
.replace(/\s+\n/g, '\n')
.trim();
user = {
title: clean(titleMatch?.[1]),
desc: clean(descMatch?.[1]),
image: imgMatch?.[1] || null,
extra: clean(extraMatch?.[1]),
isBot: html.includes('bot') && /bot/i.test(clean(titleMatch?.[1]) || '')
};
}
} catch (e) {
console.error('Fetch error:', e.message);
}
if (!user || !user.title) {
await bot.editMessageText(
`β *Akun tidak ditemukan*\n\n` +
`βΈ Username: @${username}\n\n` +
`_Cek ejaan username atau akun mungkin private._`,
{ chat_id: chatId, message_id: proses.message_id, parse_mode: 'Markdown' }
).catch(async () => {
await bot.sendMessage(chatId, `β Akun @${username} tidak ditemukan.`);
});
return;
}
let teks =
`π€ *TELEGRAM INFO*\n` +
`βββββββββββββββββββ\n\n` +
`π Username : @${username}\n` +
`π Nama : ${user.title}\n`;
if (user.extra) {
teks += `π Info : ${user.extra}\n`;
}
if (user.desc) {
const desc = user.desc.length > 300
? user.desc.slice(0, 300) + '...'
: user.desc;
teks += `\nπ *Bio:*\n${desc}\n`;
}
teks +=
`\nβββββββββββββββββββ\n` +
`π t.me/${username}\n` +
`β‘ GrenTzy Bot`;
if (user.image) {
try {
await bot.sendPhoto(chatId, user.image, {
caption: teks,
parse_mode: 'Markdown'
});
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
return;
} catch {}
}
await bot.editMessageText(teks, {
chat_id: chatId,
message_id: proses.message_id,
parse_mode: 'Markdown',
disable_web_page_preview: false
});
} catch (e) {
console.error('β [CEKUNTELE] Error:', e.message);
await bot.editMessageText(`β Gagal cek: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
}).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
}); | 24 |
| 18 | bot.onText(/\/cekwa(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/cekwa')) return;
const chatId = msg.chat.id;
const input = (match[1] || '').trim();
if (!input) {
return bot.sendMessage(chatId,
`π Format: /cekwa <nomor>\n\nContoh:\n/cekwa 6283166964321`);
}
let nomor = input.replace(/[^0-9]/g, '');
if (nomor.startsWith('0')) nomor = '62' + nomor.slice(1);
else if (nomor.startsWith('8')) nomor = '62' + nomor;
if (nomor.length < 8) {
return bot.sendMessage(chatId, 'β Nomor tidak valid.');
}
const proses = await bot.sendMessage(chatId, `π Cek nomor: ${nomor}...`);
try {
const jid = nomor + '@s.whatsapp.net';
const sock = readySessions.values().next().value;
if (!sock) {
throw new Error('Tidak ada bot WA yang aktif');
}
const [check] = await sock.onWhatsApp(jid);
if (!check?.exists) {
await bot.editMessageText(`β Nomor tidak terdaftar di WhatsApp\n\nπ ${nomor}`, {
chat_id: chatId, message_id: proses.message_id
});
return;
}
let ppUrl = null;
try {
ppUrl = await sock.profilePictureUrl(jid, 'image');
} catch {}
let status = null;
try {
const st = await sock.fetchStatus(jid);
status = st?.status || null;
} catch {}
let business = null;
try {
business = await sock.getBusinessProfile(jid);
} catch {}
let teks =
`π± *WHATSAPP INFO*\n` +
`βββββββββββββββββββ\n\n` +
`π Nomor : ${nomor}\n` +
`π JID : ${check.jid || jid}\n` +
`β
Terdaftar : Ya\n`;
if (status) teks += `π Status : ${status}\n`;
if (ppUrl) teks += `πΌοΈ Foto Profil : Tersedia\n`;
else teks += `πΌοΈ Foto Profil : Tidak tersedia / private\n`;
if (business) {
teks += `\nπ’ *BUSINESS INFO*\n`;
if (business.description) teks += `βΈ Deskripsi : ${business.description}\n`;
if (business.email) teks += `βΈ Email : ${business.email}\n`;
if (business.website) teks += `βΈ Website : ${business.website}\n`;
if (business.address) teks += `βΈ Alamat : ${business.address}\n`;
if (business.category) teks += `βΈ Kategori : ${business.category}\n`;
teks += `βΈ Verified : ${business.isVerified ? 'β
Ya' : 'β Tidak'}\n`;
} else {
teks += `\nπ’ *BUSINESS INFO*\nβΈ Bukan akun bisnis\n`;
}
teks += `\nβββββββββββββββββββ\nβ‘ GrenTzy Bot`;
if (ppUrl) {
await bot.sendPhoto(chatId, ppUrl, { caption: teks, parse_mode: 'Markdown' })
.then(() => bot.deleteMessage(chatId, proses.message_id))
.catch(async () => {
await bot.editMessageText(teks, {
chat_id: chatId, message_id: proses.message_id, parse_mode: 'Markdown'
});
});
} else {
await bot.editMessageText(teks, {
chat_id: chatId, message_id: proses.message_id, parse_mode: 'Markdown'
});
}
} catch (e) {
console.error('β [CEKWA] Error:', e.message);
await bot.editMessageText(`β Gagal cek nomor: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
}).catch(async () => {
await bot.sendMessage(chatId, `β Gagal: ${e.message}`);
});
}
}); | 23 |
| 19 | bot.onText(/\/tourl(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/tourl')) return;
const chatId = msg.chat.id;
const replied = msg.reply_to_message;
if (!replied || (!replied.photo && !replied.video && !replied.audio && !replied.voice && !replied.document && !replied.sticker && !replied.animation)) {
return bot.sendMessage(chatId,
`π Format:
β’ Reply foto/video/audio/dokumen/sticker
β’ Ketik /tourl
_Upload ke catbox.moe β dapat link permanent_`);
}
const proses = await bot.sendMessage(chatId, 'β³ Mengupload ke catbox...');
try {
let fileId = null;
let fileName = null;
let mime = null;
if (replied.photo) {
const best = replied.photo[replied.photo.length - 1];
fileId = best.file_id;
fileName = `grentzy_${Date.now()}.jpg`;
mime = 'image/jpeg';
} else if (replied.video) {
fileId = replied.video.file_id;
fileName = replied.video.file_name || `grentzy_${Date.now()}.mp4`;
mime = 'video/mp4';
} else if (replied.audio) {
fileId = replied.audio.file_id;
fileName = replied.audio.file_name || `grentzy_${Date.now()}.mp3`;
mime = replied.audio.mime_type || 'audio/mpeg';
} else if (replied.voice) {
fileId = replied.voice.file_id;
fileName = `grentzy_${Date.now()}.ogg`;
mime = 'audio/ogg';
} else if (replied.document) {
fileId = replied.document.file_id;
fileName = replied.document.file_name || `grentzy_${Date.now()}.bin`;
mime = replied.document.mime_type || 'application/octet-stream';
} else if (replied.sticker) {
fileId = replied.sticker.file_id;
fileName = `grentzy_${Date.now()}.webp`;
mime = 'image/webp';
} else if (replied.animation) {
fileId = replied.animation.file_id;
fileName = replied.animation.file_name || `grentzy_${Date.now()}.mp4`;
mime = 'video/mp4';
}
const fileLink = await bot.getFileLink(fileId);
const fileRes = await axios.get(fileLink, {
responseType: 'arraybuffer',
timeout: 120000,
maxContentLength: Infinity,
maxBodyLength: Infinity
});
const buffer = Buffer.from(fileRes.data);
if (!buffer || buffer.length === 0) {
throw new Error('File gagal di-download');
}
const FormData = require('form-data');
const form = new FormData();
form.append('fileToUpload', buffer, { filename: fileName });
form.append('reqtype', 'fileupload');
const { data } = await axios.post(
'https://catbox.moe/user/api.php',
form,
{
headers: form.getHeaders(),
timeout: 120000,
maxContentLength: Infinity,
maxBodyLength: Infinity
}
);
const fileUrl = String(data).trim();
if (!fileUrl.startsWith('http')) {
throw new Error('Upload gagal: ' + fileUrl.slice(0, 100));
}
const sizeMB = (buffer.length / 1024 / 1024).toFixed(2);
await bot.editMessageText(
`β
UPLOAD BERHASIL
βββββββββββββββββββ
π Link:
${fileUrl}
π Size: ${sizeMB} MB
π Nama: ${fileName}
_Link permanent, bebas expired_`,
{
chat_id: chatId,
message_id: proses.message_id,
disable_web_page_preview: true
}
).catch(async () => {
await bot.sendMessage(chatId, `β
Link:\n${fileUrl}`, {
disable_web_page_preview: true
});
});
console.log(`π€ [TOURL] β ${fileUrl}`);
} catch (e) {
console.error('β [TOURL] Error:', e.message);
await bot.editMessageText(
`β GAGAL UPLOAD
_Error: ${e.message}_
Kemungkinan:
β’ File terlalu besar (>200 MB)
β’ Telegram file expired
β’ Server catbox down`,
{ chat_id: chatId, message_id: proses.message_id }
).catch(async () => {
await bot.sendMessage(chatId, `β Gagal upload: ${e.message}`);
});
}
}); | 27 |
| 20 | bot.onText(/\/qr(?:\s+(.+))?/, async (msg, match) => {
if (!tgGuard(bot, msg, '/qr')) return;
const chatId = msg.chat.id;
const text = (match[1] || '').trim();
if (text) {
const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=500x500&data=${encodeURIComponent(text)}`;
const proses = await bot.sendMessage(chatId, 'β³ Membuat QR...');
try {
await bot.sendPhoto(chatId, qrUrl);
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
} catch (e) {
try {
await bot.editMessageText(`β Gagal buat QR: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
});
} catch {
bot.sendMessage(chatId, `β Gagal buat QR: ${e.message}`);
}
}
return;
}
if (msg.reply_to_message?.photo) {
const photos = msg.reply_to_message.photo;
const best = photos[photos.length - 1];
const proses = await bot.sendMessage(chatId, 'β³ Mengubah foto jadi QR...');
try {
const fileLink = await bot.getFileLink(best.file_id);
const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=500x500&data=${encodeURIComponent(fileLink)}`;
await bot.sendPhoto(chatId, qrUrl);
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
} catch (e) {
try {
await bot.editMessageText(`β Gagal konversi: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
});
} catch {
bot.sendMessage(chatId, `β Gagal konversi: ${e.message}`);
}
}
return;
}
if (msg.reply_to_message?.sticker) {
const sticker = msg.reply_to_message.sticker;
const proses = await bot.sendMessage(chatId, 'β³ Mengubah sticker jadi QR...');
try {
const fileLink = await bot.getFileLink(sticker.file_id);
const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=500x500&data=${encodeURIComponent(fileLink)}`;
await bot.sendPhoto(chatId, qrUrl);
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
} catch (e) {
try {
await bot.editMessageText(`β Gagal konversi: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
});
} catch {
bot.sendMessage(chatId, `β Gagal konversi: ${e.message}`);
}
}
return;
}
if (msg.reply_to_message?.document) {
const doc = msg.reply_to_message.document;
const proses = await bot.sendMessage(chatId, 'β³ Mengubah dokumen jadi QR...');
try {
const fileLink = await bot.getFileLink(doc.file_id);
const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=500x500&data=${encodeURIComponent(fileLink)}`;
await bot.sendPhoto(chatId, qrUrl);
try { await bot.deleteMessage(chatId, proses.message_id); } catch {}
} catch (e) {
try {
await bot.editMessageText(`β Gagal konversi: ${e.message}`, {
chat_id: chatId, message_id: proses.message_id
});
} catch {
bot.sendMessage(chatId, `β Gagal konversi: ${e.message}`);
}
}
return;
}
bot.sendMessage(chatId, 'π Format: /qr <text|url> atau reply foto/sticker/dokumen + /qr');
}); | 26 |
