forked from MeganAe/Goat
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfigCommands.dev.json
More file actions
156 lines (141 loc) · 7.62 KB
/
Copy pathconfigCommands.dev.json
File metadata and controls
156 lines (141 loc) · 7.62 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
const activeGames = {}; // Parties de devinette et quiz
const userData = {}; // Stocke l'argent virtuel quotidien et jackpot
module.exports = {
config: {
name: "main",
description: "Toutes les commandes principales du bot avec mini-jeux et bonus",
usage: "/start /help /about /ping /joke /quote /devine /ppt /quiz /daily /jackpot /appraise"
},
run: async ({ api, event, args }) => {
const userID = event.senderID;
const input = args.join(" ").toLowerCase();
if (!userData[userID]) userData[userID] = { balance: 0, lastDaily: 0 };
// -------- /start --------
if (input === "start") return api.sendMessage("Salut 👋 ! Je suis ton bot. Tape /help pour voir toutes mes commandes.", event.threadID);
// -------- /help --------
if (input === "help") {
const message = "Voici mes commandes :\n\n" +
"/start - Démarrer le bot\n" +
"/help - Liste des commandes\n" +
"/about - Infos sur le bot\n" +
"/ping - Test de réactivité\n" +
"/joke - Une blague\n" +
"/quote - Citation inspirante\n" +
"/devine - Jeu de devinette\n" +
"/ppt [pierre|papier|ciseaux] - Pierre-Papier-Ciseaux\n" +
"/quiz - Quiz rapide\n" +
"/daily - Bonus quotidien\n" +
"/jackpot - Jeu de hasard\n" +
"/appraise [objet/personne] - Évaluer un objet ou une personne";
return api.sendMessage(message, event.threadID);
}
// -------- /about --------
if (input === "about") return api.sendMessage("Bot créé par Manassé Arama. Objectif : t’amuser et t’aider !", event.threadID);
// -------- /ping --------
if (input === "ping") return api.sendMessage("Pong 🏓", event.threadID);
// -------- /joke --------
if (input === "joke") {
const jokes = [
"Pourquoi les programmeurs confondent Halloween et Noël ? Parce que OCT 31 == DEC 25.",
"Quel est le comble pour un développeur ? Avoir un bug dans sa peluche.",
"Pourquoi les développeurs n'aiment pas la nature ? Trop de bugs."
];
return api.sendMessage(jokes[Math.floor(Math.random() * jokes.length)], event.threadID);
}
// -------- /quote --------
if (input === "quote") {
const quotes = [
"Le succès, c'est tomber 7 fois et se relever 8.",
"La seule limite à nos réalisations de demain, ce sont nos doutes d'aujourd'hui.",
"Croyez en vous et tout devient possible."
];
return api.sendMessage(quotes[Math.floor(Math.random() * quotes.length)], event.threadID);
}
// -------- /ppt --------
if (input.startsWith("ppt")) {
const choices = ["pierre", "papier", "ciseaux"];
if (!args[1] || !choices.includes(args[1].toLowerCase())) return api.sendMessage("Usage : /ppt pierre | papier | ciseaux", event.threadID);
const userChoice = args[1].toLowerCase();
const botChoice = choices[Math.floor(Math.random() * 3)];
let result;
if (userChoice === botChoice) result = "Égalité !";
else if (
(userChoice === "pierre" && botChoice === "ciseaux") ||
(userChoice === "papier" && botChoice === "pierre") ||
(userChoice === "ciseaux" && botChoice === "papier")
) result = "Tu gagnes ! 🎉";
else result = "Je gagne ! 😎";
return api.sendMessage(`Tu as choisi ${userChoice}.\nJe choisis ${botChoice}.\n${result}`, event.threadID);
}
// -------- /devine --------
if (input === "devine") {
const number = Math.floor(Math.random() * 10) + 1;
activeGames[userID] = { type: "devine", number, attempts: 0 };
return api.sendMessage("J’ai choisi un nombre entre 1 et 10… Essaie de le deviner !", event.threadID);
}
if (activeGames[userID] && activeGames[userID].type === "devine") {
const game = activeGames[userID];
const guess = parseInt(input);
if (isNaN(guess)) return api.sendMessage("Tape un nombre entre 1 et 10 !", event.threadID);
game.attempts++;
if (guess === game.number) {
delete activeGames[userID];
return api.sendMessage(`Bravo ! 🎉 Tu as deviné le nombre en ${game.attempts} essais.`, event.threadID);
} else if (guess < game.number) return api.sendMessage("Trop petit ! Essaie encore.", event.threadID);
else return api.sendMessage("Trop grand ! Essaie encore.", event.threadID);
}
// -------- /quiz --------
if (input === "quiz") {
activeGames[userID] = { type: "quiz", question: "Quelle est la capitale du Japon ?", answer: "tokyo" };
return api.sendMessage("Question : Quelle est la capitale du Japon ?", event.threadID);
}
if (activeGames[userID] && activeGames[userID].type === "quiz") {
const game = activeGames[userID];
if (input === game.answer.toLowerCase()) {
delete activeGames[userID];
return api.sendMessage("Bravo ! ✅ Bonne réponse.", event.threadID);
} else {
return api.sendMessage("Mauvaise réponse… Essaie encore !", event.threadID);
}
}
// -------- /daily --------
if (input === "daily") {
const now = Date.now();
if (now - userData[userID].lastDaily < 86400000) {
return api.sendMessage("Tu as déjà pris ton daily aujourd'hui. Reviens demain !", event.threadID);
}
const amount = Math.floor(Math.random() * 100) + 50;
userData[userID].balance += amount;
userData[userID].lastDaily = now;
return api.sendMessage(`Voici ton daily bonus : ${amount}¥ !\nSolde actuel : ${userData[userID].balance}¥`, event.threadID);
}
// -------- /jackpot --------
if (input === "jackpot") {
const bet = Math.floor(Math.random() * 100) + 1;
const win = Math.random() < 0.5;
if (win) {
userData[userID].balance += bet;
return api.sendMessage(`Jackpot ! 🎰 Tu gagnes ${bet}¥\nSolde actuel : ${userData[userID].balance}¥`, event.threadID);
} else {
userData[userID].balance = Math.max(0, userData[userID].balance - bet);
return api.sendMessage(`Dommage… 😢 Tu perds ${bet}¥\nSolde actuel : ${userData[userID].balance}¥`, event.threadID);
}
}
// -------- /appraise --------
if (input.startsWith("appraise")) {
if (!args[1]) return api.sendMessage("Usage : /appraise [objet/personne]", event.threadID);
const target = args.slice(1).join(" ");
const ratings = [
"Magnifique 😍",
"Pas mal 👍",
"Moyen 🤔",
"Bof 😐",
"Catastrophique 💀"
];
const rating = ratings[Math.floor(Math.random() * ratings.length)];
return api.sendMessage(`${target} : ${rating}`, event.threadID);
}
// -------- Commande inconnue --------
return api.sendMessage("Commande inconnue. Tape /help pour voir la liste.", event.threadID);
}
};