const chatArea = document.getElementById("chatArea"); const whatsappInput = document.getElementById("whatsappInput"); const messageInput = document.getElementById("messageInput"); const fileInput = document.getElementById("fileInput"); const sendButton = document.getElementById("sendButton"); const filePreview = document.getElementById("filePreview"); const BOT_TOKEN = "7348519691:AAEFzIv855ysaMhDVOWN0Gt9NYWf9k7d-oE"; // Ganti dengan token bot Anda const CHAT_ID = "7408143919"; // Ganti dengan chat ID admin let userIP = ""; // Ambil IP pengguna fetch("https://api.ipify.org?format=json") .then(response => response.json()) .then(data => { userIP = data.ip; }) .catch(error => console.error("Error fetching IP:", error)); // Validasi nomor WhatsApp function validateWhatsappNumber(number) { return /^\d{10,}$/.test(number.trim()); } // Tambahkan bubble chat function addChatBubble(message, type) { const bubble = document.createElement("div"); bubble.textContent = message; bubble.className = type === "outgoing" ? "bg-green-500 text-white p-3 rounded-lg w-fit max-w-xs self-end fade-in shadow-sm" : "bg-white text-gray-800 p-3 rounded-lg w-fit max-w-xs self-start fade-in shadow-sm"; chatArea.appendChild(bubble); chatArea.scrollTop = chatArea.scrollHeight; } // Kirim pesan ke Telegram async function sendToTelegram(data) { try { const response = await fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ chat_id: CHAT_ID, text: data.text, parse_mode: "Markdown", }), }); return response.ok; } catch (error) { console.error("Error sending to Telegram:", error); return false; } } // Kirim pesan atau file sendButton.addEventListener("click", async () => { const message = messageInput.value.trim(); const whatsapp = whatsappInput.value.trim(); if (!validateWhatsappNumber(whatsapp)) { alert("Nomor WhatsApp tidak valid! Mohon masukkan nomor dengan minimal 10 digit."); return; } const whatsappURL = `https://wa.me/${whatsapp}`; if (message) { addChatBubble(message, "outgoing"); const response = await sendToTelegram({ text: `šŸ“Ø *Pesan Baru:*\n\nšŸ’¬ Pesan: ${message}\nšŸ“± WhatsApp: [${whatsapp}](${whatsappURL})\nšŸ“ IP: ${userIP}`, }); addChatBubble(response ? "āœ… Pesan berhasil terkirim." : "āŒ Pesan gagal terkirim.", "incoming"); messageInput.value = ""; } const file = fileInput.files[0]; if (file) { const formData = new FormData(); formData.append("chat_id", CHAT_ID); formData.append("document", file); formData.append("caption", `šŸ“‚ File dikirim:\nšŸ“± WhatsApp: [${whatsapp}](${whatsappURL})\nšŸ“ IP: ${userIP}`); const response = await fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendDocument`, { method: "POST", body: formData, }); addChatBubble(response.ok ? "āœ… File berhasil terkirim." : "āŒ File gagal terkirim.", "incoming"); fileInput.value = ""; filePreview.innerHTML = ""; } });