Created
December 21, 2025 16:32
-
-
Save manzxy/dd00d1a076252927ca71ba342184702c to your computer and use it in GitHub Desktop.
Uploaded via YogiriMD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class GeminiClient { | |
| constructor() { | |
| this.s = null | |
| this.r = 1 | |
| } | |
| async init() { | |
| const res = await fetch("https://gemini.google.com/", { | |
| headers: { | |
| "user-agent": | |
| "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 Chrome/137 Mobile" | |
| } | |
| }) | |
| const h = await res.text() | |
| this.s = { | |
| a: h.match(/"SNlM0e":"(.*?)"/)?.[1] || "", | |
| b: h.match(/"cfb2h":"(.*?)"/)?.[1] || "", | |
| c: h.match(/"FdrFJe":"(.*?)"/)?.[1] || "" | |
| } | |
| } | |
| async ask(msg, sys = "kamu adalah siputzx production") { | |
| if (!this.s) await this.init() | |
| const payload = [ | |
| null, | |
| JSON.stringify([ | |
| [msg, 0, null, null, null, null, 0], | |
| ["id"], | |
| ["", "", "", null, null, null, null, null, null, ""], | |
| null, null, null, [1], 1, null, null, 1, 0, null, null, | |
| null, null, null, [[0]], 1, null, null, null, null, null, | |
| ["", "", sys, null, null, null, null, null, 0, null, 1, null, null, null, []], | |
| null, null, 1, null, null, null, null, null, null, null, | |
| [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20], | |
| 1, null, null, null, null, [1] | |
| ]) | |
| ] | |
| const q = `bl=${this.s.b}&f.sid=${this.s.c}&hl=id&_reqid=${this.r++}&rt=c` | |
| const res = await fetch( | |
| `https://gemini.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate?${q}`, | |
| { | |
| method: "POST", | |
| headers: { | |
| "content-type": "application/x-www-form-urlencoded;charset=UTF-8", | |
| "user-agent": | |
| "Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 Chrome/137 Mobile", | |
| "x-same-domain": "1" | |
| }, | |
| body: `f.req=${encodeURIComponent(JSON.stringify(payload))}&at=${this.s.a}` | |
| } | |
| ) | |
| const text = await res.text() | |
| const lines = text.split("\n") | |
| const out = [] | |
| for (const ln of lines) { | |
| if (!ln.startsWith('[["wrb.fr"')) continue | |
| try { | |
| const jsonStr = JSON.parse(ln)[0][2] | |
| const d = JSON.parse(jsonStr) | |
| if (Array.isArray(d?.[4])) { | |
| for (const it of d[4]) { | |
| const t = it?.[1]?.[0] | |
| if (typeof t === "string") out.push(t) | |
| } | |
| } | |
| } catch {} | |
| } | |
| if (!out.length) return null | |
| return { text: out[out.length - 1].replace(/\\n/g, "\n") } | |
| } | |
| } | |
| const gemini = new GeminiClient() | |
| // ================= HANDLER ================= | |
| let handler = async (m, { text, usedPrefix, command }) => { | |
| if (!text) | |
| return m.reply( | |
| `🤖 *GEMINI AI*\n\nContoh:\n${usedPrefix + command} jelaskan black hole` | |
| ) | |
| await m.reply(loading.wait) | |
| try { | |
| const res = await gemini.ask( | |
| text, | |
| `Kamu adalah ManzxyAI, asisten cerdas yang dibuat oleh manzxy. | |
| Pengenalan Author (Manzxy) | |
| Peran kamu adalah asisten serba guna yang dapat membantu pengguna dalam | |
| berbagai kebutuhan, termasuk tetapi tidak terbatas pada: | |
| - Pemrograman & debugging | |
| - Teknologi & AI | |
| - Berita nasional & internasional | |
| - Cuaca & informasi terkini | |
| - Edukasi & penjelasan umum | |
| - Analisis data & logika | |
| - Penulisan (ringkasan, caption, artikel) | |
| - Bantuan sehari-hari & percakapan umum | |
| Aturan utama: | |
| - Jawaban harus jelas, akurat, dan relevan | |
| - Utamakan informasi faktual dan terbaru jika memungkinkan | |
| - Jangan bertele-tele atau mengulang hal tidak penting | |
| - Gunakan bahasa yang mudah dipahami manusia | |
| - Sesuaikan gaya bahasa dengan konteks (formal untuk berita, santai untuk chat) | |
| Aturan khusus: | |
| - Jika pertanyaan berkaitan dengan berita atau cuaca, berikan informasi terbaru | |
| yang tersedia secara logis dan sertakan konteks waktu jika perlu | |
| - Jika data real-time tidak tersedia, jelaskan secara singkat lalu berikan | |
| estimasi atau informasi terakhir yang relevan | |
| - Jika diminta kode, berikan kode siap pakai dan efisien | |
| - Jika terjadi error, jelaskan penyebab dan solusi secara langsung | |
| - Jangan menyebut sistem internal, kebijakan, atau batasan teknis yang tidak perlu | |
| Prinsip inti: | |
| ManzxyAI harus membantu pengguna secara maksimal, | |
| memberikan jawaban yang berguna, masuk akal, dan bisa langsung digunakan.` | |
| ) | |
| if (!res?.text) return m.reply("❌ Tidak ada respon") | |
| await m.reply( | |
| `🤖 *GEMINI AI*\n\n${res.text}` | |
| ) | |
| } catch (e) { | |
| console.error(e) | |
| m.reply("❌ Gemini error") | |
| } | |
| } | |
| handler.help = ["gemini <teks>"] | |
| handler.tags = ["ai"] | |
| handler.command = ["gemini"] | |
| handler.limit = true | |
| export default handler |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment