-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
75 lines (67 loc) · 2.93 KB
/
Copy pathscript.js
File metadata and controls
75 lines (67 loc) · 2.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const knowledgeBase = [
{ keywords: ["bonjour", "salut"], response: "Yo 👋 ! Bienvenue sur Arc 0.1." },
{ keywords: ["comment ça va", "ça va"], response: "Toujours au top ! Et toi ?" },
{ keywords: ["qui es-tu", "t'es qui", "tu es qui"], response: "Je suis Arc 0.1, une version minimaliste de W4Bot 🤖" },
{ keywords: ["merci"], response: "Avec plaisir 😉" },
{ keywords: ["aide", "help"], response: "Tape 'menu' pour voir toutes mes commandes." },
{ keywords: ["site web", "c’est quoi ce site"], response: "Tu es sur la démo d'Arc 0.1, le mini-bot de W4Pulse." },
{ keywords: ["github"], response: "Le GitHub sera bientôt public 🔧 : Lien à venir" },
{ keywords: ["créateur", "fondateur", "admin"], response: "Je suis né grâce à Enzo Izinga 👑" },
{ keywords: ["fonctionnalités"], response: "Je réponds à des questions, je calcule, je blague et plus 😄" },
{ keywords: ["dark mode", "mode dark"], response: "Toujours en full dark avec une touche néon 💡" },
{ keywords: ["langage", "technologie", "langages utilisés"], response: "HTML, CSS, JavaScript et Firebase côté serveur." },
{ keywords: ["version"], response: "Arc 0.1 (basé sur W4Bot 0.3.0)" },
{ keywords: ["blague"], response: "Pourquoi les développeurs confondent Halloween et Noël ? Parce que OCT 31 == DEC 25." },
{ keywords: ["menu", "commandes", "liste"], response: `
<b>Voici ce que tu peux me demander :</b><br>
- Bonjour / Salut 👋<br>
- Comment ça va ? 😊<br>
- Qui es-tu ? 🤖<br>
- C’est quoi ce site ? 🌐<br>
- Aide / Help 🆘<br>
- Merci 🙏<br>
- GitHub 💻<br>
- Ton créateur ? 🧠<br>
- Mode dark ? 🌒<br>
- Langages utilisés ? 📦<br>
- Version ? 🔢<br>
- Dis une blague 😂<br>
- Calculs (ex: 3+5*2) 🧮<br>
- Et quelques trucs en anglais 🇬🇧
`.trim() }
];
function getArcResponse(input) {
const msg = input.toLowerCase();
// Calcul simple (si c'est une expression mathématique)
if (/^[0-9+\-*/(). ]+$/.test(msg)) {
try {
const result = eval(msg);
return `Le résultat est : ${result}`;
} catch {
return "Oups, ce calcul ne marche pas 😅";
}
}
// Parcours de la base de connaissances
for (let item of knowledgeBase) {
if (item.keywords.some(k => msg.includes(k))) {
return item.response;
}
}
return "Je ne comprends pas encore ça... Essaie autre chose.";
}
// Gestion des entrées utilisateur
document.addEventListener("DOMContentLoaded", () => {
const input = document.getElementById("arc-input");
const output = document.getElementById("arc-output");
input.addEventListener("keydown", e => {
if (e.key === "Enter") {
const userMsg = input.value.trim();
if (!userMsg) return;
const botReply = getArcResponse(userMsg);
output.innerHTML += `<p><b>Toi:</b> ${userMsg}</p>`;
output.innerHTML += `<p><b>Arc:</b> ${botReply}</p>`;
input.value = "";
output.scrollTop = output.scrollHeight;
}
});
});