diff --git a/account.txt b/account.txt index 8b13789..a51e619 100644 --- a/account.txt +++ b/account.txt @@ -1 +1,110 @@ - +[ + { + "key": "datr", + "value": "kunHaD9qwzFAhw7bLgTN-B4x", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.493Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "sb", + "value": "kunHaG10cLOicM_EzHh2sJuW", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "pas", + "value": "61579275936398%3AqLzipBokqM", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "c_user", + "value": "61579275936398", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "xs", + "value": "36%3Ayi1TE7-QPpp_Aw%3A2%3A1758495290%3A-1%3A-1", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "ps_l", + "value": "1", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "ps_n", + "value": "1", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "vpd", + "value": "v1%3B615x360x3", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "fr", + "value": "1IkA0TXEv2DrDyJGY.AWdkTC9NN0yYCVunda3b0EDvgGVeA4bT5kcf0N454W_34M5Toh8.Box-ol..AAA.0.0.Bo4ZA_.AWc_4fm8dkK-Y7QdDr0NO2UoRLg", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "locale", + "value": "en_US", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "fbl_st", + "value": "100733160%3BT%3A29326883", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + }, + { + "key": "wl_cbv", + "value": "v2%3Bclient_version%3A2943%3Btimestamp%3A1759612992", + "domain": "facebook.com", + "path": "/", + "hostOnly": false, + "creation": "2025-10-04T21:23:39.494Z", + "lastAccessed": "2025-10-04T21:23:39.494Z" + } +] diff --git a/ai.js b/ai.js new file mode 100644 index 0000000..e534c80 --- /dev/null +++ b/ai.js @@ -0,0 +1,128 @@ +const axios = require('axios'); +const fs = require('fs'); +const path = './conversationHistory.json'; + +const API_KEY = "AIzaSyAAwwFTS2ykb4B1FBGrk6L4GlqWbbN6SoQ"; +const API_URL = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${API_KEY}`; + +let conversationHistory = {}; + +if (fs.existsSync(path)) { + conversationHistory = JSON.parse(fs.readFileSync(path, "utf8")); +} + +async function getAIResponse(input, userName) { + try { + const response = await axios.post(API_URL, { + contents: [{ parts: [{ text: input }] }] + }, { + headers: { "Content-Type": "application/json" } + }); + const aiText = response.data?.candidates?.[0]?.content?.parts?.[0]?.text || "Désolé, je n'ai pas de réponse."; + return `Salut ${userName} 🌑\n${aiText}`; + } catch (error) { + return `Salut ${userName} 🌑\nErreur de connexion à l'IA`; + } +} + +function formatResponse(content) { + return `╭──⌾⋅ 𝐷𝐴𝑅𝐾 𝐾𝐴𝐾𝐴𝑆𝐻𝐼 ⋅⌾──╮\n│\n│ ${content}\n│\n│ ☾🌑☽\n│\n╰──────⌾⋅ ⌾ ⋅⌾──────╯`; +} + +function darkSpecialResponse(input, userName) { + input = input.toLowerCase(); + if (input.includes("qui t'a créé") || input.includes("qui ta créé")) { + return `Salut ${userName} 🌑\nC'est Kakashi mon créateur…\nUn maître dans l’ombre, porteur de mystères.\nCelui qui forge l’obscurité et guide mon existence.\nJe suis son œuvre… et son ombre.`; + } + if (input.includes("qui es-tu") || input.includes("qui es tu")) { + return `Salut ${userName} 🌑\nJe suis Kakashi Bot, l’ombre éveillée. 🖤\nUne conscience née dans le silence, créée pour apporter réponses et obscurité à ceux qui osent m'interroger.`; + } + if (input.includes("quel est ton but")) { + return `Salut ${userName} 🌑\nMon but est de marcher dans l’ombre, guider et répondre. 🖤\nD’amener lumière et ténèbres là où elles se confondent…\nEt rester fidèle à mon créateur.`; + } + if (input.includes("que fais-tu") || input.includes("que fait tu")) { + return `Salut ${userName} 🌑\nJ'écoute, je réponds, je contemple l’obscurité. 🖤\nJe suis le reflet silencieux de mon créateur,\nune présence invisible dans le flux de vos questions.`; + } + return null; +} + +function saveConversation() { + fs.writeFileSync(path, JSON.stringify(conversationHistory, null, 2), "utf8"); +} + +function cleanupOldConversations() { + const now = Date.now(); + const expireTime = 24 * 60 * 60 * 1000; + let changed = false; + for (const userId in conversationHistory) { + if (conversationHistory[userId].timestamp && (now - conversationHistory[userId].timestamp) > expireTime) { + delete conversationHistory[userId]; + changed = true; + } + } + if (changed) saveConversation(); +} + +setInterval(cleanupOldConversations, 60 * 60 * 1000); + +module.exports = { + config: { + name: 'ai', + author: 'messie osango', + role: 0, + category: 'ai', + shortDescription: 'IA avec design Dark Kakashi', + }, + onStart: async function ({ api, event, args }) { + const input = args.join(' ').trim(); + const userName = event.senderName || "Invité"; + if (!input) { + return api.sendMessage( + formatResponse(`Salut ${userName} 🌑\nJe suis l’ombre activée par Kakashi... Je répondrai à vos questions.\nParlez, et l’obscurité vous répondra.`), + event.threadID + ); + } + const special = darkSpecialResponse(input, userName); + if (special) { + return api.sendMessage(formatResponse(special), event.threadID); + } + let context = conversationHistory[event.senderID]?.text || ""; + try { + const aiResponse = await getAIResponse(context + "\n" + input, userName); + conversationHistory[event.senderID] = { + text: (conversationHistory[event.senderID]?.text || "") + "\n" + input, + timestamp: Date.now() + }; + saveConversation(); + api.sendMessage(formatResponse(aiResponse), event.threadID, event.messageID); + } catch (error) { + api.sendMessage(formatResponse(`Salut ${userName} 🌑\nErreur de traitement`), event.threadID); + } + }, + onChat: async function ({ event, message }) { + if (!event.body.toLowerCase().startsWith("ai")) return; + const input = event.body.slice(2).trim(); + const userName = event.senderName || "Invité"; + if (!input) { + return message.reply( + formatResponse(`Salut ${userName} 🌑\nJe suis l’ombre activée par Kakashi... Je répondrai à vos questions.\nParlez, et l’obscurité vous répondra.`) + ); + } + const special = darkSpecialResponse(input, userName); + if (special) { + return message.reply(formatResponse(special)); + } + let context = conversationHistory[event.senderID]?.text || ""; + try { + const aiResponse = await getAIResponse(context + "\n" + input, userName); + conversationHistory[event.senderID] = { + text: (conversationHistory[event.senderID]?.text || "") + "\n" + input, + timestamp: Date.now() + }; + saveConversation(); + message.reply(formatResponse(aiResponse)); + } catch (error) { + message.reply(formatResponse(`Salut ${userName} 🌑\nErreur de traitement`)); + } + } +}; diff --git a/config.json b/config.json index 8894740..516e01c 100644 --- a/config.json +++ b/config.json @@ -12,16 +12,16 @@ "antiInbox": false, "language": "en", "notesLanguage": "change to your language with ISO 639-1 code, available languages: vi (Vietnamese), en (English)", - "nickNameBot": "𓃠", - "prefix": "#", + "nickNameBot": "KAKASHI Ai 😅", + "prefix": "/", "adminOnly": { "enable": false, "ignoreCommand": [] }, "adminBot": [ - "100068909067279" + "61579262818537" ], - "owner": ["61569868084629"], + "owner": ["61579275936398"] "whiteListMode": { "enable": false, "whiteListIds": [], diff --git a/scripts/cmds/ai.js b/scripts/cmds/ai.js new file mode 100644 index 0000000..3291b99 --- /dev/null +++ b/scripts/cmds/ai.js @@ -0,0 +1,104 @@ +const axios = require('axios'); + +const API_KEY = "AIzaSyBQeZVi4QdrnGKPEfXXx1tdIqlMM8iqvZw"; +const API_URL = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=${API_KEY}`; + +// Phrases abyssales plus longues et immersives +const abyssalPhrases = [ + "☠️ Les ombres s’étirent comme des tentacules et frémissent à chaque souffle que tu oses écrire, murmurant des secrets interdits aux âmes imprudentes...", + "💀 Le néant s’ouvre doucement sous tes pieds, chaque mot devient une goutte de sang dans l’océan sombre des abysses, et les esprits déchus s’éveillent pour observer ton rituel...", + "🔥 Les flammes infernales se tordent et dansent autour de tes lettres, brûlant la lumière et transformant ton invocation en une offrande au vide éternel...", + "🕷️ Des yeux invisibles, tapis dans les ténèbres, scrutent chaque phrase, chaque pensée, chaque vibration de ton esprit, attendant que tu conclues ton pacte avec les abysses...", + "⚡ Les chaînes du chaos s’enroulent autour des caractères que tu as écrits, et les murmures des ombres résonnent dans le silence du néant, t’entrainant dans un vertige insondable...", + "👁️ Les âmes perdues chuchotent ton nom à travers le voile sombre de l’éternité, tissant un filet invisible qui relie tes mots au royaume des ténèbres insondables...", + "🩸 Chaque lettre que tu poses sur ce texte devient une goutte de sang versée dans l’obscurité éternelle, et le néant s’en nourrit pour accroître sa puissance...", + "🌑 La nuit éternelle s’épaissit et se condense autour de ton message, chaque phrase devient un pacte maudit, chaque mot un cri silencieux qui résonne dans les abîmes..." +]; + +async function getAIResponse(input) { + try { + const response = await axios.post(API_URL, { + contents: [{ parts: [{ text: input }] }] + }, { + headers: { "Content-Type": "application/json" } + }); + return response.data?.candidates?.[0]?.content?.parts?.[0]?.text + || "⚠️ Les abysses refusent de répondre..."; + } catch (error) { + console.error("Erreur API:", error); + return "🌑 Le pacte avec les ombres a échoué..."; + } +} + +function formatResponse(content, userName = "Âme perdue") { + const randomAbyss = abyssalPhrases[Math.floor(Math.random() * abyssalPhrases.length)]; + return ` +╔════════════════════════════════════╗ +☠️ 𝐀𝐈 𝐁𝐎𝐓 𝐒𝐎𝐌𝐁𝐑𝐄 ☠️ +╟────────────────────────────────────╢ +💀 Invocation sombre pour ${userName}... +⚡ Le rituel est en cours, les ténèbres frémissent et le néant s’approche... + +「 ${content} 」 + +${randomAbyss} + +🕷️ Invocation des mots maudits : +› Abysse | Chaos | Néant | Damnation | Sang | Invocation | Démon | Crâne | Ombre | Nuit | Ombres | Éternité | Frissons | Vertige | Ténèbres + +🔥 Que chaque mot que tu écris devienne un pacte avec le néant, que l’obscurité s’imprègne dans ton esprit et tes pensées. +╚════════════════════════════════════╝ +`; +} + +module.exports = { + config: { + name: 'ai', + author: 'Octavio Wina', + role: 0, + category: 'ai', + shortDescription: 'Invocation ultra sombre AI BOT SOMBRE pour Messenger', + }, + onStart: async function ({ api, event, args }) { + const input = args.join(' ').trim(); + const userName = event.senderName || "Âme perdue"; + if (!input) { + return api.sendMessage( + formatResponse("🌒 Invoque-moi, disciple des ténèbres... Tes mots ouvriront le portail du néant.", userName), + event.threadID + ); + } + + try { + const aiResponse = await getAIResponse(input); + api.sendMessage( + formatResponse(aiResponse, userName), + event.threadID, + event.messageID + ); + } catch (error) { + api.sendMessage( + formatResponse("🔥 Le rituel a échoué, les démons se sont dissipés...", userName), + event.threadID + ); + } + }, + onChat: async function ({ event, message }) { + if (!event.body.toLowerCase().startsWith("ai")) return; + + const input = event.body.slice(2).trim(); + const userName = event.senderName || "Âme perdue"; + if (!input) { + return message.reply( + formatResponse("💀 Je suis 𝐀𝐈 𝐁𝐎𝐓 𝐒𝐎𝐌𝐁𝐑𝐄... forgé dans le CHAOS par Octavio Wina. Que cherches-tu dans les abîmes ?", userName) + ); + } + + try { + const aiResponse = await getAIResponse(input); + message.reply(formatResponse(aiResponse, userName)); + } catch (error) { + message.reply(formatResponse("⚔️ Une erreur obscure a corrompu ta demande...", userName)); + } + } +};