JAVA SCRIPT GRENTZY <\0>
رفتن به کانال در Telegram
228
مشترکین
+524 ساعت
+67 روز
+2130 روز
در حال بارگیری داده...
کانالهای مشابه
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسبها
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
سپتامبر '26سپتامبر '26
سپتامبر '26
+42
در 1 کانالها
اوت '26
+207
در 1 کانالها
Get PRO
ژوئیه '260
در 3 کانالها
Get PRO
ژوئن '26
+2
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 29 سپتامبر | 0 | |||
| 28 سپتامبر | +5 | |||
| 27 سپتامبر | 0 | |||
| 26 سپتامبر | +1 | |||
| 25 سپتامبر | 0 | |||
| 24 سپتامبر | +2 | |||
| 23 سپتامبر | +1 | |||
| 22 سپتامبر | +1 | |||
| 21 سپتامبر | +1 | |||
| 20 سپتامبر | 0 | |||
| 19 سپتامبر | +3 | |||
| 18 سپتامبر | +1 | |||
| 17 سپتامبر | 0 | |||
| 16 سپتامبر | +1 | |||
| 15 سپتامبر | +5 | |||
| 14 سپتامبر | +1 | |||
| 13 سپتامبر | +4 | |||
| 12 سپتامبر | +3 | |||
| 11 سپتامبر | +13 | |||
| 10 سپتامبر | 0 | |||
| 09 سپتامبر | 0 | |||
| 08 سپتامبر | 0 | |||
| 07 سپتامبر | 0 | |||
| 06 سپتامبر | 0 | |||
| 05 سپتامبر | 0 | |||
| 04 سپتامبر | 0 | |||
| 03 سپتامبر | 0 | |||
| 02 سپتامبر | 0 | |||
| 01 سپتامبر | 0 |
پستهای کانال
| 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 |
