JAVA SCRIPT GRENTZY <\0>
Kanalga Telegram’da o‘tish
229
Obunachilar
+124 soatlar
+67 kun
+2230 kun
Postlar arxiv
bot.onText(/\/q\s+(.+)/, async (msg, match) => {
const chatId = msg.chat.id;
const text = match[1].trim();
if (!text) {
return bot.sendMessage(chatId, '⚠️ Masukkan teks yang ingin lu quote.\nContoh: `/q mending ngopi`', { parse_mode: 'Markdown' });
}
const sentMsg = await bot.sendMessage(chatId, '⏳ Membuat quote...');
try {
const buffer = createQuoteImage(text);
await bot.sendPhoto(chatId, buffer, {
caption: `📌 *${text.slice(0, 50)}*`,
parse_mode: 'Markdown'
});
await bot.deleteMessage(chatId, sentMsg.message_id);
} catch (err) {
console.error('Error:', err.message);
await bot.editMessageText(`❌ Gagal membuat quote: ${err.message}`, {
chat_id: chatId,
message_id: sentMsg.message_id
});
}
});
Case pembuatan pesan menjadi stiker dengan kutipan yang bagus type base bot.on text create @GrenTzy1
function createQuoteImage(text) {
const width = 800;
let height = 400;
if (text.length > 50) height = 500;
if (text.length > 100) height = 600;
const canvas = createCanvas(width, height);
const ctx = canvas.getContext('2d');
const grad = ctx.createLinearGradient(0, 0, 0, height);
grad.addColorStop(0, '#1a1a2e');
grad.addColorStop(0.5, '#16213e');
grad.addColorStop(1, '#0f3460');
ctx.fillStyle = grad;
ctx.fillRect(0, 0, width, height);
ctx.fillStyle = '#4facfe';
ctx.fillRect(30, 40, 15, height - 80);
const words = text.split(' ');
let lines = [];
let currentLine = '';
for (const word of words) {
const testLine = currentLine ? `${currentLine} ${word}` : word;
if (testLine.length <= 35) {
currentLine = testLine;
} else {
lines.push(currentLine);
currentLine = word;
}
}
if (currentLine) lines.push(currentLine);
let fontSize = 36;
if (lines.length > 6) fontSize = 28;
if (lines.length > 10) fontSize = 22;
ctx.font = `bold ${fontSize}px 'Segoe UI', 'Roboto', sans-serif`;
ctx.fillStyle = '#ffffff';
ctx.textAlign = 'left';
ctx.textBaseline = 'top';
let y = 80;
for (const line of lines) {
ctx.fillText(line, 80, y);
y += 50;
}
ctx.fillStyle = 'rgba(255,255,255,0.3)';
ctx.font = '20px sans-serif';
ctx.textAlign = 'right';
ctx.textBaseline = 'bottom';
ctx.fillText('📌 QuotLy', width - 30, height - 20);
return canvas.toBuffer();
}
Fungsi Case membuat pesan menjadi stiker dengan kutipan yang bagus create @GrenTzy1
⌑ Follow Status : ${followStatus}
tambahin itu di info premium lu pada biar nanti ada icon status follow di bot
async function getFollowStatus(userId) {
const channelId = "USERNAME_CHANEL_LU";
try {
const chatMember = await bot.getChatMember(channelId, userId);
const status = chatMember.status;
if (["member", "administrator", "creator"].includes(status)) {
return "UDAH FOLLOW 😎";
} else {
return "BELUM FOLLOW BANG 😟";
}
} catch {
return "BELUM FOLLOW BANG 😟";
}
}
fungsi pengecekan user udah follow channel apa belum. Cara masangnya cukup tempel itu di bagian atas index.js lu tempat letak semua fungsi cari tempat kosong tarok itu di tempat kosong abis itu tarok pemanggilan ini const followStatus = await getFollowStatus(senderId); tarok pemanggilan itu di callback query dan di case start lu ini khusus base type bot.on text create @GrenTzy1 work kabarin
Base Sc CekfunctionNewV2.py.zip
cara runya di termux # Install dependency dulu pip install pyTelegramBotAPI requests sudo apt install nodejs # Jalankan python Baru.py Langkah kedua: # Update sudo apt update sudo apt install -y nodejs npm node -v npm -v versi python kalau lu gak punya panel credits @GrenTzy
Base cekfunc NewV2(18 agustus).zip
Sc Cekfunction New Ada 2 fitur - Cekfunction - deploy html to vercel app credits @GrenTzy buat fitur lain bebas kalau lu mau tambahin asal jangan hapus credits nya
