add game command

This commit is contained in:
Tutur33
2024-02-26 11:20:08 +01:00
parent a9d92fbff6
commit 7ee772a6b9
23 changed files with 229 additions and 160 deletions
@@ -1,13 +1,12 @@
import { Message } from "discord.js";
const { TwoZeroFourEight } = require('discord-gamecord'); const { TwoZeroFourEight } = require('discord-gamecord');
module.exports = { module.exports = {
name: '2048',
description: 'Jouer au jeu 2048', description: 'Jouer au jeu 2048',
emote: '🎲', emote: '🎲',
utilisation: '2048', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const Game = new TwoZeroFourEight({ const Game = new TwoZeroFourEight({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -24,7 +23,7 @@ module.exports = {
Game.startGame(); Game.startGame();
Game.on('gameOver', result => { Game.on('gameOver', (result: any) => {
}); });
}, },
}; };
@@ -1,12 +1,12 @@
import { Message } from "discord.js";
module.exports = { module.exports = {
name: '8ball',
aliases: ['eightball', '8b'], aliases: ['eightball', '8b'],
description: 'Posez une question à la boule magique 8', description: 'Posez une question à la boule magique 8',
emote: '🔮', emote: '🔮',
utilisation: '8ball <question>', utilisation: '<question>',
category: 'game',
execute(message, args) { execute(message: Message, args: string[]) {
if (!args[0]) { if (!args[0]) {
return message.reply("Veuillez poser une question."); return message.reply("Veuillez poser une question.");
} }
@@ -1,11 +1,12 @@
import { Message } from "discord.js";
module.exports = { module.exports = {
name: 'catsay',
aliases: ['chatdire'], aliases: ['chatdire'],
description: 'Faire parler les chat', description: 'Faire parler les chat',
emote: '🐱', emote: '🐱',
utilisation: 'catsay <message>', utilisation: '<message>',
category: 'game',
async execute( message, args) { async execute( message: Message, args: string[]) {
message.delete() message.delete()
@@ -1,12 +1,12 @@
import { Message } from "discord.js";
const { Minesweeper } = require('discord-gamecord'); const { Minesweeper } = require('discord-gamecord');
module.exports = { module.exports = {
name: 'demineur',
description: 'Jouer à un jeu démineur', description: 'Jouer à un jeu démineur',
emote: '💣', emote: '💣',
utilisation: 'demineur', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const Game = new Minesweeper({ const Game = new Minesweeper({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -24,7 +24,7 @@ module.exports = {
}); });
Game.startGame(); Game.startGame();
Game.on('gameOver', result => { Game.on('gameOver', (result: any) => {
}); });
}, },
}; };
@@ -1,3 +1,4 @@
import { Message } from "discord.js";
const { FastType } = require('discord-gamecord'); const { FastType } = require('discord-gamecord');
const sentences = [ const sentences = [
'Une phrase super cool à taper rapidement.', 'Une phrase super cool à taper rapidement.',
@@ -27,14 +28,12 @@ const sentences = [
]; ];
module.exports = { module.exports = {
name: 'fasttype',
aliases: ['typefast'], aliases: ['typefast'],
description: 'Jouer à un jeu de vitesse de frappe', description: 'Jouer à un jeu de vitesse de frappe',
emote: '⌨️', emote: '⌨️',
utilisation: 'fasttype', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const randomSentence = sentences[Math.floor(Math.random() * sentences.length)]; const randomSentence = sentences[Math.floor(Math.random() * sentences.length)];
const Game = new FastType({ const Game = new FastType({
@@ -51,9 +50,7 @@ module.exports = {
loseMessage: 'Vous avez perdu ! Vous n\'avez pas tapé la phrase correctement à temps.', loseMessage: 'Vous avez perdu ! Vous n\'avez pas tapé la phrase correctement à temps.',
}); });
Game.startGame(); Game.on('gameOver', (result: any) => {
Game.on('gameOver', result => {
}); });
}, },
}; };
@@ -1,14 +1,13 @@
const { FindEmoji } = require('discord-gamecord'); const { FindEmoji } = require('discord-gamecord');
import { Message } from "discord.js";
module.exports = { module.exports = {
name: 'findemoji',
aliases: ['trouveremoji'], aliases: ['trouveremoji'],
description: 'Jouer au jeu Trouver Emoji', description: 'Jouer au jeu Trouver Emoji',
emote: '🔍', emote: '🔍',
utilisation: 'findemoji', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const Game = new FindEmoji({ const Game = new FindEmoji({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -30,7 +29,7 @@ module.exports = {
Game.startGame(); Game.startGame();
Game.on('gameOver', result => { Game.on('gameOver', (result: any) => {
}); });
}, },
}; };
@@ -1,14 +1,13 @@
const { Flood } = require('discord-gamecord'); const { Flood } = require('discord-gamecord');
import { Message } from "discord.js";
module.exports = { module.exports = {
name: 'flood',
aliases: ['inondation'], aliases: ['inondation'],
description: 'Jouer au jeu Flood', description: 'Jouer au jeu Flood',
emote: '🌊', emote: '🌊',
utilisation: 'flood', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const Game = new Flood({ const Game = new Flood({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -28,7 +27,7 @@ module.exports = {
Game.startGame(); Game.startGame();
Game.on('gameOver', result => { Game.on('gameOver', (result: any) => {
}); });
}, },
}; };
@@ -1,14 +1,13 @@
const { GuessThePokemon } = require('discord-gamecord'); const { GuessThePokemon } = require('discord-gamecord');
import { Message } from "discord.js";
module.exports = { module.exports = {
name: 'guesspokemon',
aliases: ['guesspok', 'guesspoke', 'gp', 'devinepokemon', 'devinepok', 'devinepoke'], aliases: ['guesspok', 'guesspoke', 'gp', 'devinepokemon', 'devinepok', 'devinepoke'],
description: 'Jouer au jeu trouver le pokemon', description: 'Jouer au jeu trouver le pokemon',
emote: '🐼', emote: '🐼',
utilisation: 'guesspokemon', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const Game = new GuessThePokemon({ const Game = new GuessThePokemon({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -24,8 +23,7 @@ module.exports = {
}); });
Game.startGame(); Game.startGame();
Game.on('gameOver', result => { Game.on('gameOver', (result: any) => {
console.log(result); // => { result... }
}); });
}, },
}; };
@@ -1,15 +1,14 @@
const { TicTacToe } = require('discord-gamecord'); const { TicTacToe } = require('discord-gamecord');
import { Message } from "discord.js";
module.exports = { module.exports = {
name: 'morpion',
aliases: ['morp'], aliases: ['morp'],
description: 'Jouer à morpion', description: 'Jouer à morpion',
emote: '⭕', emote: '⭕',
utilisation: 'morpion', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
if (!message.mentions.members.first()) if (!message.mentions.members?.first())
return message.reply("Veuillez mentionner un adversaire"); return message.reply("Veuillez mentionner un adversaire");
const Game = new TicTacToe({ const Game = new TicTacToe({
@@ -1,4 +1,5 @@
const { Hangman } = require('discord-gamecord'); const { Hangman } = require('discord-gamecord');
import { Message } from "discord.js";
const words = [ const words = [
'pomme', 'banane', 'cerise', 'poire', 'figue', 'raisin', 'pomme', 'banane', 'cerise', 'poire', 'figue', 'raisin',
@@ -28,13 +29,11 @@ const words = [
]; ];
module.exports = { module.exports = {
name: 'pendu',
description: 'Jouer à pendu', description: 'Jouer à pendu',
emote: '🎩', emote: '🎩',
utilisation: 'pendu', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const game = new Hangman({ const game = new Hangman({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -1,14 +1,13 @@
import { Message } from "discord.js";
const choices = ["pierre", "papier", "ciseaux"]; const choices = ["pierre", "papier", "ciseaux"];
module.exports = { module.exports = {
name: 'pfc',
aliases: ['pierre-papier-ciseaux', 'shifumi', 'pierrepapierciseaux', 'rockpaperscissors', 'rock-paper-scissors'], aliases: ['pierre-papier-ciseaux', 'shifumi', 'pierrepapierciseaux', 'rockpaperscissors', 'rock-paper-scissors'],
description: 'Jouer à pierre-papier-ciseaux', description: 'Jouer à pierre-papier-ciseaux',
emote: '✊', emote: '✊',
utilisation: 'pfc', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message, args: string[]) {
const userChoice = args[0]; const userChoice = args[0];
const botChoice = choices[Math.floor(Math.random() * choices.length)]; const botChoice = choices[Math.floor(Math.random() * choices.length)];
@@ -1,19 +1,17 @@
const { Connect4 } = require('discord-gamecord') const { Connect4 } = require('discord-gamecord')
import { Message } from "discord.js";
const color = '#0099ff'; const color = '#0099ff';
module.exports = { module.exports = {
name: 'puissance4', utilisation: '',
utilisation: 'puissance4',
description: 'Lancer une partie de puissance4', description: 'Lancer une partie de puissance4',
emote: '🔴', emote: '🔴',
category: 'game',
async execute(message) { async execute(message: Message) {
if (!message.mentions || !message.mentions.members.first()) if (!message.mentions || !message.mentions.members?.first())
return message.reply("Veuillez mentionner un membre") return message.reply("Veuillez mentionner un membre")
new Connect4({ new Connect4({
message: message, message: message,
opponent: message.mentions.users.first(), opponent: message.mentions.users.first(),
@@ -1,14 +1,13 @@
const { Slots } = require('discord-gamecord'); const { Slots } = require('discord-gamecord');
import { Message } from "discord.js";
module.exports = { module.exports = {
name: 'slot',
aliases: ['slotmachine'], aliases: ['slotmachine'],
description: 'Jouer au jeu Slot', description: 'Jouer au jeu Slot',
emote: '🎰', emote: '🎰',
utilisation: 'slot', utilisation: '',
category: 'game',
async execute(message, args) { async execute(message: Message) {
const Game = new Slots({ const Game = new Slots({
message: message, message: message,
isSlashGame: false, isSlashGame: false,
@@ -20,7 +19,7 @@ module.exports = {
}); });
Game.startGame(); Game.startGame();
Game.on('gameOver', result => { Game.on('gameOver', (result: any) => {
}); });
}, },
}; };
@@ -1,14 +1,14 @@
const { Snake } = require("discord-gamecord") const { Snake } = require("discord-gamecord")
const color = '#0099ff'; // Définit import { Message } from "discord.js";
const color = '#0099ff';
module.exports = { module.exports = {
name: 'snake',
aliases: ['serpent', 'snakegame'], aliases: ['serpent', 'snakegame'],
utilisation: 'snake',
description: 'Lancer une partie de snake', description: 'Lancer une partie de snake',
emote: '🐍', emote: '🐍',
category: 'game', utilisation: '',
async execute(message, args) { async execute(message: Message) {
new Snake({ new Snake({
message: message, message: message,
-78
View File
@@ -1,78 +0,0 @@
const { Wordle } = require('discord-gamecord');
const words = [
'pomme', 'banane', 'cerise', 'poire', 'figue', 'raisin',
'orange', 'em', 'fraise', 'abricot', 'prune', 'coing',
'kiwi', 'ananas', 'tomate', 'carotte', 'oignon', 'concombre',
'champignon', 'haricot', 'mais', 'navet', 'patate', 'radis',
'salade', 'artichaut', 'betterave', 'brocoli', 'courgette',
'epinards', 'fenouil', 'laitue', 'mache', 'poivron', 'raifort',
'roquette', 'topinambour', 'vinaigrette', 'zucchini',
'pere', 'mere', 'frere', 'soeur', 'fils', 'fille', 'bebe',
'enfant', 'grand-pere', 'grand-mere', 'cousin', 'cousine',
'oncle', 'tante', 'amitie', 'amour', 'famille', 'courage',
'joie', 'sagesse', 'travail', 'triomphe', 'victoire', 'reussite',
'bonjour', 'au revoir', 'merci', 'excusez-moi',
'oui', 'non', 'ou', 'quoi', 'qui', 'combien', 'pourquoi',
'comment', 'quand', 'ou', 'que', 'en', 'de', 'du',
'sur', 'chez', 'sous', 'devant', 'derriere', 'hors', 'parmi',
'selon', 'malgre', 'grâce à', 'avant', 'apres', 'alors que',
'bien que', 'si', 'alors', 'donc', 'sinon', 'mais', 'et',
'ou', 'non', 'plus', 'moins', 'tout', 'pas', 'beaucoup',
'peu', 'assez', 'trop', 'pas assez', 'tres', 'vraiment',
'toujours', 'jamais', 'rarement', 'souvent', 'maintenant',
'ensuite', 'hier', 'demain', 'matin', 'monde', 'plage', 'compte', 'site', 'salle', 'bain', 'maris','cheveu', 'bras',
'cuillere', 'assiette', 'vin', 'fruit', 'pantalon', 'pull', 'robe', 'chaussure', 'epouse', 'année', 'femme',
'feu', 'balance', 'batterie', 'caleçon', 'collant', 'contenance', 'gencive', 'jean', 'jogging',
'pince', 'pantalon', 'pince', 'pyjama', 'short', 'slip', 'soup', 'vaisselle',
'amie', 'amour', 'ami', 'bleu', 'brun', 'blanc', 'chat', 'chat', 'chien', 'chats', 'cheveu', 'clair', 'clerc', 'creer', 'crêpe', 'cycle',
'dame', 'date', 'day', 'dix', 'doigt', 'drôle', 'droit', 'eau', 'école', 'égal', 'éléphant', 'épée', 'épicier', 'étude', 'facile', 'fête', 'fleur',
'flûte', 'fois', 'force', 'franc', 'frein', 'frir', 'froid', 'front', 'fruit', 'fuir', 'fumée', 'fumer', 'glace', 'grain', 'grade', 'grand', 'gras',
'gros', 'guère', 'heure', 'hippopotamus', 'homme', 'homme', 'horloge', 'hôpital', 'humide', 'huître', 'huit', 'hymne', 'iceberg', 'idéel', 'il',
'île', 'imaginer', 'immobile', 'impliquer', 'important', 'incrémenter', 'index', 'infini', 'insecte', 'intérêt', 'inviter', 'irriter', 'juste',
'kilo', 'kilogramme', 'kilt', 'kiwi', 'koala', 'labyrinthe', 'lac', 'lacune', 'lacs', 'lâcher', 'labeur', 'lance', 'lancer', 'larmes', 'larme',
'large', 'lasagne', 'lasso', 'latence', 'latin', 'latitude', 'laurier', 'lavage', 'lave', 'laxatif', 'lazaret', 'lazer', 'léger', 'légume',
'lemon', 'lendemain', 'lente', 'lentement', 'lettres', 'lettre', 'lexique', 'lieu', 'ligne', 'lingot', 'liquide', 'lit', 'littoral', 'livre',
'livrer', 'local', 'locale', 'locaux', 'lodge', 'londres', 'long', 'longtemps', 'lot', 'lotion', 'louer', 'lourd', 'lourde', 'lourdes', 'lourds',
'loyauté', 'lucas', 'lucide', 'lueur', 'lugubre', 'lundi', 'lutin', 'lutte', 'lyre', 'macaron', 'madame', 'mademoiselle', 'mademoiselle', 'magasin',
'magique', 'maigre', 'maillon', 'maison', 'maîtresse', 'maître', 'majesté', 'majorité', 'maladif', 'maladive', 'malgré', 'malice', 'malin',
'mallette', 'manche', 'maniable', 'manuel', 'manière', 'manoeuvre', 'manquer', 'manteau', 'marché', 'marcher', 'mariage', 'maritime', 'marthe',
'mascotte', 'massif', 'matière', 'matin', 'matrice', 'matériel', 'maudire', 'mauvais', 'mauvaise', 'mauvaises', 'méchant', 'méchante', 'méchantes',
'méchants', 'mécontent', 'médecin', 'méditer', 'mélanger', 'membre', 'membres', 'mensonge', 'ménager', 'mener', 'menhir', 'mensonge', 'mentionner',
'menu', 'mercredi', 'mercredi', 'mesure', 'mettre', 'micro', 'miel', 'milieu', 'millieu', 'million', 'mince', 'mine', 'ministre', 'minute',
'minuscule', 'minuscule', 'minute', 'minutes', 'minuterie', 'miracle', 'mir', 'mixer', 'mobile', 'mode', 'modèle', 'modifier', 'mois', 'moment',
'monde', 'montagne', 'montant', 'morceau', 'mort', 'mot', 'motif', 'moteur', 'mouche', 'moulin', 'moulu', 'much',
, 'music', 'musique', 'musique', 'myriade', 'myself', 'naïf', 'naïve', 'naïves', 'naïfs', 'nature', 'navire', 'navré', 'naviguer',
'neige', 'neuf', 'neutre', 'newton', 'ni', 'noble', 'nocif', 'nocturne', 'nom', 'nombre', 'nombreuses',
, 'notable', 'note', 'notes', 'noter', 'nouveau', 'nuage', 'numéro', 'objet', 'obscur', 'obstacle', 'occasion', 'octobre',
];
const shortWords = words.filter(word => word.length === 5);
module.exports = {
name: 'wordle',
description: 'Jouer à Wordle',
emote: '🔡',
utilisation: 'wordle',
category: 'game',
async execute(message, args) {
const Game = new Wordle({
message: message,
isSlashGame: false,
embed: {
title: 'Wordle',
color: '#5865F2',
},
customWord: shortWords[Math.floor(Math.random() * shortWords.length)],
timeoutTime: 60000,
winMessage: 'Tu as gagné! Le mot était **{word}**.',
loseMessage: 'Tu as perdu! Le mot était **{word}**.',
playerOnlyMessage: 'Seul {player} peut utiliser ces boutons.'
});
Game.startGame();
Game.on('gameOver', result => {
console.log(result); // => { result... }
});
},
};
+99
View File
@@ -0,0 +1,99 @@
const { Wordle } = require('discord-gamecord');
import { Message } from "discord.js";
const words = [
'pomme', 'banane', 'cerise', 'poire', 'figue', 'raisin',
'orange', 'em', 'fraise', 'abricot', 'prune', 'coing',
'kiwi', 'ananas', 'tomate', 'carotte', 'oignon', 'concombre',
'champignon', 'haricot', 'mais', 'navet', 'patate', 'radis',
'salade', 'artichaut', 'betterave', 'brocoli', 'courgette',
'epinards', 'fenouil', 'laitue', 'mache', 'poivron', 'raifort',
'roquette', 'topinambour', 'vinaigrette', 'zucchini',
'pere', 'mere', 'frere', 'soeur', 'fils', 'fille', 'bebe',
'enfant', 'grand-pere', 'grand-mere', 'cousin', 'cousine',
'oncle', 'tante', 'amitie', 'amour', 'famille', 'courage',
'joie', 'sagesse', 'travail', 'triomphe', 'victoire', 'reussite',
'bonjour', 'au revoir', 'merci', 'excusez-moi',
'oui', 'non', 'ou', 'quoi', 'qui', 'combien', 'pourquoi',
'comment', 'quand', 'ou', 'que', 'en', 'de', 'du',
'sur', 'chez', 'sous', 'devant', 'derriere', 'hors', 'parmi',
'selon', 'malgre', 'grâce à', 'avant', 'apres', 'alors que',
'bien que', 'si', 'alors', 'donc', 'sinon', 'mais', 'et',
'ou', 'non', 'plus', 'moins', 'tout', 'pas', 'beaucoup',
'peu', 'assez', 'trop', 'pas assez', 'tres', 'vraiment',
'toujours', 'jamais', 'rarement', 'souvent', 'maintenant',
'ensuite', 'hier', 'demain', 'matin', 'monde', 'plage',
'compte', 'site', 'salle', 'bain', 'maris','cheveu', 'bras',
'cuillere', 'assiette', 'vin', 'fruit', 'pantalon', 'pull',
'robe', 'chaussure', 'epouse', 'année', 'femme','feu', 'balance',
'batterie', 'caleçon', 'collant', 'contenance', 'gencive', 'jean',
'jogging', 'pince', 'pantalon', 'pince', 'pyjama', 'short', 'slip',
'soup', 'vaisselle', 'amie', 'amour', 'ami', 'bleu', 'brun',
'blanc', 'chat', 'chat', 'chien', 'chats', 'cheveu', 'clair',
'clerc', 'creer', 'crêpe', 'cycle', 'dame', 'date', 'day', 'dix',
'doigt', 'drôle', 'droit', 'eau', 'école', 'égal', 'éléphant',
'épée', 'épicier', 'étude', 'facile', 'fête', 'fleur', 'flûte',
'fois', 'force', 'franc', 'frein', 'frir', 'froid', 'front',
'fruit', 'fuir', 'fumée', 'fumer', 'glace', 'grain', 'grade',
'grand', 'gras', 'gros', 'guère', 'heure', 'hippopotamus',
'homme', 'homme', 'horloge', 'hôpital', 'humide', 'huître',
'huit', 'hymne', 'iceberg', 'idéel', 'il', 'île', 'imaginer',
'immobile', 'impliquer', 'important', 'incrémenter', 'index',
'infini', 'insecte', 'intérêt', 'inviter', 'irriter', 'juste',
'kilo', 'kilogramme', 'kilt', 'kiwi', 'koala', 'labyrinthe',
'lac', 'lacune', 'lacs', 'lâcher', 'labeur', 'lance', 'lancer',
'larmes', 'larme', 'large', 'lasagne', 'lasso', 'latence', 'latin',
'latitude', 'laurier', 'lavage', 'lave', 'laxatif', 'lazaret',
'lazer', 'léger', 'légume', 'lemon', 'lendemain', 'lente', 'lentement',
'lettres', 'lettre', 'lexique', 'lieu', 'ligne', 'lingot', 'liquide',
'lit', 'littoral', 'livre', 'livrer', 'local', 'locale', 'locaux',
'lodge', 'londres', 'long', 'longtemps', 'lot', 'lotion', 'louer',
'lourd', 'lourde', 'lourdes', 'lourds', 'loyauté', 'lucas', 'lucide',
'lueur', 'lugubre', 'lundi', 'lutin', 'lutte', 'lyre', 'macaron',
'madame', 'mademoiselle', 'mademoiselle', 'magasin', 'magique',
'maigre', 'maillon', 'maison', 'maîtresse', 'maître', 'majesté',
'majorité', 'maladif', 'maladive', 'malgré', 'malice', 'malin',
'mallette', 'manche', 'maniable', 'manuel', 'manière', 'manoeuvre',
'manquer', 'manteau', 'marché', 'marcher', 'mariage', 'maritime', 'marthe',
'mascotte', 'massif', 'matière', 'matin', 'matrice', 'matériel',
'maudire', 'mauvais', 'mauvaise', 'mauvaises', 'méchant', 'méchante',
'méchantes', 'méchants', 'mécontent', 'médecin', 'méditer', 'mélanger',
'membre', 'membres', 'mensonge', 'ménager', 'mener', 'menhir', 'mensonge',
'mentionner', 'menu', 'mercredi', 'mercredi', 'mesure', 'mettre', 'micro',
'miel', 'milieu', 'millieu', 'million', 'mince', 'mine', 'ministre', 'minute',
'minuscule', 'minuscule', 'minute', 'minutes', 'minuterie', 'miracle', 'mir',
'mixer', 'mobile', 'mode', 'modèle', 'modifier', 'mois', 'moment', 'monde',
'montagne', 'montant', 'morceau', 'mort', 'mot', 'motif', 'moteur', 'mouche',
'moulin', 'moulu', 'much', 'music', 'musique', 'musique', 'myriade', 'myself',
'naïf', 'naïve', 'naïves', 'naïfs', 'nature', 'navire', 'navré', 'naviguer',
'neige', 'neuf', 'neutre', 'newton', 'ni', 'noble', 'nocif', 'nocturne', 'nom',
'nombre', 'nombreuses', 'notable', 'note', 'notes', 'noter', 'nouveau', 'nuage',
'numéro', 'objet', 'obscur', 'obstacle', 'occasion', 'octobre',
];
const shortWords = words.filter(word => word.length === 5);
module.exports = {
description: 'Jouer à Wordle',
emote: '🔡',
utilisation: '',
async execute(message: Message) {
const Game = new Wordle({
message: message,
isSlashGame: false,
embed: {
title: 'Wordle',
color: '#5865F2',
},
customWord: shortWords[Math.floor(Math.random() * shortWords.length)],
timeoutTime: 60000,
winMessage: 'Tu as gagné! Le mot était **{word}**.',
loseMessage: 'Tu as perdu! Le mot était **{word}**.',
playerOnlyMessage: 'Seul {player} peut utiliser ces boutons.'
});
Game.startGame();
Game.on('gameOver', (result: any) => {
});
},
};
+1 -1
View File
@@ -53,7 +53,7 @@ module.exports = {
let categories: { [key: string]: Command[] } = {}; let categories: { [key: string]: Command[] } = {};
commands.forEach((command: any) => { commands.forEach((command: any) => {
if (!categories[command.category]) { if (!categories[command.category]) {
categories[command.category] = [{ name: command.name, description: command.description, emote: command.emote, utilisation: command.utilisation}]; categories[command.category] = [];
} }
categories[command.category]?.push(command); categories[command.category]?.push(command);
}); });
+1 -1
View File
@@ -7,7 +7,7 @@ module.exports = {
utilisation: '', utilisation: '',
permission: 0, permission: 0,
async execute(message: any, args: any, client: any) { async execute(message: any, args: string[], client: any) {
const ping = new ButtonBuilder() const ping = new ButtonBuilder()
.setCustomId('confirm') .setCustomId('confirm')
.setLabel('🔄') .setLabel('🔄')
+2 -5
View File
@@ -1,25 +1,22 @@
import fs from 'fs'; import fs from 'fs';
import path from 'path'; import path from 'path';
module.exports = function loadEvents(client: any, dir: string) { module.exports = function loadCommands(client: any, dir: string) {
let count = 0; let count = 0;
dir = `../${dir}`
fs.readdirSync(path.join(__dirname, dir)).forEach((file: string) => { fs.readdirSync(path.join(__dirname, dir)).forEach((file: string) => {
const filePath = path.join(__dirname, dir, file); const filePath = path.join(__dirname, dir, file);
if (fs.statSync(filePath).isDirectory()) { if (fs.statSync(filePath).isDirectory()) {
count += loadCommands(path.join(dir, file)); count += loadCommands(client, path.join(dir, file));
} else if (file.endsWith('.js') || file.endsWith('.ts')) { } else if (file.endsWith('.js') || file.endsWith('.ts')) {
try { try {
delete require.cache[require.resolve(filePath)]; delete require.cache[require.resolve(filePath)];
const command = require(filePath); const command = require(filePath);
const fileName = file.replace(/\.js|\.ts/g, ''); const fileName = file.replace(/\.js|\.ts/g, '');
command.name = fileName; command.name = fileName;
console.log(command);
if (!command.category) { if (!command.category) {
const parentDir = path.basename(path.dirname(filePath)); const parentDir = path.basename(path.dirname(filePath));
command.category = parentDir === 'commands' ? 'other' : parentDir; command.category = parentDir === 'commands' ? 'other' : parentDir;
} }
console.log(command);
client.commands.set(fileName, command); client.commands.set(fileName, command);
if (command.aliases) { if (command.aliases) {
command.aliases.forEach((alias: string) => { command.aliases.forEach((alias: string) => {
-1
View File
@@ -4,7 +4,6 @@ import path from 'path';
module.exports = function loadEvents(client: Client, dir: string): number { module.exports = function loadEvents(client: Client, dir: string): number {
let count = 0; let count = 0;
dir = `../${dir}`
fs.readdirSync(path.join(__dirname, dir)).forEach((file: string) => { fs.readdirSync(path.join(__dirname, dir)).forEach((file: string) => {
const filePath = path.join(__dirname, dir, file); const filePath = path.join(__dirname, dir, file);
if (fs.statSync(filePath).isDirectory()) { if (fs.statSync(filePath).isDirectory()) {
+2 -2
View File
@@ -8,8 +8,8 @@ module.exports = function run(token: string) {
client.events = new Collection(); client.events = new Collection();
client.commands = new Collection(); client.commands = new Collection();
console.log(`${loadEvents(client, 'events')} events loaded`); console.log(`${loadEvents(client, '..\\events')} events loaded`);
console.log(`${loadCommands(client, 'commands')} commands loaded`); console.log(`${loadCommands(client, '..\\commands')} commands loaded`);
client.login(token); client.login(token);
}; };
+64
View File
@@ -9,6 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"discord-gamecord": "^4.4.1",
"discord.js": "^14.14.1", "discord.js": "^14.14.1",
"dotenv": "^16.4.5", "dotenv": "^16.4.5",
"sqlite3": "^5.1.7" "sqlite3": "^5.1.7"
@@ -486,6 +487,16 @@
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.61.tgz", "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.61.tgz",
"integrity": "sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw==" "integrity": "sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw=="
}, },
"node_modules/discord-gamecord": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/discord-gamecord/-/discord-gamecord-4.4.1.tgz",
"integrity": "sha512-0IDI2C7QttWSPJStQNUZn89xFlgqo+qrJUC+/Bu8xPfnZ0G0AsBN6Ut0lwYcJOZkHnX5cNbwHl6Wj//5ws9oTA==",
"dependencies": {
"discord.js": "^14.8.0",
"html-entities": "^2.3.3",
"node-fetch": "^2.6.7"
}
},
"node_modules/discord.js": { "node_modules/discord.js": {
"version": "14.14.1", "version": "14.14.1",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.14.1.tgz", "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.14.1.tgz",
@@ -655,6 +666,21 @@
"integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
"optional": true "optional": true
}, },
"node_modules/html-entities": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz",
"integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/mdevils"
},
{
"type": "patreon",
"url": "https://patreon.com/mdevils"
}
]
},
"node_modules/http-cache-semantics": { "node_modules/http-cache-semantics": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
@@ -1039,6 +1065,25 @@
"node": "^16 || ^18 || >= 20" "node": "^16 || ^18 || >= 20"
} }
}, },
"node_modules/node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/node-gyp": { "node_modules/node-gyp": {
"version": "8.4.1", "version": "8.4.1",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
@@ -1499,6 +1544,11 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/ts-mixer": { "node_modules/ts-mixer": {
"version": "6.0.4", "version": "6.0.4",
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz",
@@ -1559,6 +1609,20 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
}, },
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/which": { "node_modules/which": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+1
View File
@@ -17,6 +17,7 @@
}, },
"homepage": "https://github.com/Tutur33/gestion-perso#readme", "homepage": "https://github.com/Tutur33/gestion-perso#readme",
"dependencies": { "dependencies": {
"discord-gamecord": "^4.4.1",
"discord.js": "^14.14.1", "discord.js": "^14.14.1",
"dotenv": "^16.4.5", "dotenv": "^16.4.5",
"sqlite3": "^5.1.7" "sqlite3": "^5.1.7"