Ce projet est un bot Discord développé avec discord.js@v14.15.3
pour gérer un serveur communautaire de développeurs. Le bot inclut des fonctionnalités de modération, de sécurité, de gestion des annonces, de partage de ressources, de giveaways et bien plus.
- Node.js v16.6.0 ou supérieur
- npm (Node Package Manager)
- Un bot Discord (vous pouvez en créer un sur le Portail Développeur Discord)
- Clonez ce dépôt sur votre machine locale :
git clone https://github.com/YuketsuSh/alice.git
- Accédez au répertoire du projet :
cd alice
- Installez les dépendances :
npm install
- Créez un fichier
config.json
dans le répertoireconfig
avec le contenu suivant :
{
"token": "YOUR_BOT_TOKEN",
"clientId": "YOUR_BOT_ID",
"guildId": "YOUR_GUILD_ID",
"logChannelId": "CONFIG_DISCORD",
"announceChannelId": "CONFIG_DISCORD",
"giveawayChannelId": "CONFIG_DISCORD",
"moderationRoleId": "CONFIG_DISCORD",
"allAccessRoleId": "YOUR_ADMIN_ROLE",
"giveawayRoleId": "CONFIG_DISCORD",
"q17RoleId": "CONFIG_DISCORD"
}
Remplacez YOUR_BOT_TOKEN
par le token de votre bot Discord et les autres valeurs par les IDs appropriés pour votre serveur.
Pour lancer le bot, exécutez la commande suivante :
node deploy-cmd.js (pour initié le deployement des commandes auprès de l'api discord)
node index.js
-
Mute un utilisateur
/moderation mute utilisateur:<@user> durée:<int> temps:<s|m|h|d>
Mute un utilisateur pour une durée spécifiée.
-
Unmute un utilisateur
/unmute utilisateur:<@user>
Unmute un utilisateur.
-
Warn un utilisateur
/warn utilisateur:<@user> raison:<string>
Avertit un utilisateur avec une raison spécifique. Si un utilisateur reçoit 3 avertissements, il sera mute pendant 10 minutes. S'il reçoit 5 avertissements, il sera banni.
-
Reset les warns d'un utilisateur
/warnreset utilisateur:<@user>
Réinitialise les avertissements d'un utilisateur.
-
Expulser un utilisateur
/kick utilisateur:<@user> raison:<string>
Expulse un utilisateur avec une raison spécifique.
-
Créer une annonce
/announce create titre:<string> message:<string>
Crée une nouvelle annonce.
-
Modifier une annonce
/announce edit id:<string> nouveau_message:<string>
Modifie une annonce existante.
-
Supprimer une annonce
/announce delete id:<string>
Supprime une annonce existante.
-
Lister les annonces
/announce list
Liste toutes les annonces disponibles.
-
Créer un giveaway
/giveaway create objet:<string> durée:<int> salon:<#channel>
Crée un nouveau giveaway.
-
Modifier un giveaway
/giveaway edit id:<string> nouvel_objet:<string> nouvelle_durée:<int>
Modifie un giveaway existant.
-
Supprimer un giveaway
/giveaway delete id:<string>
Supprime un giveaway existant.
-
Lister les giveaways
/giveaway list
Liste tous les giveaways disponibles.
-
Scanner le serveur
/scan
Scanne l'intégrité de l'infrastructure et affiche les résultats après 4 secondes.
-
Verrouiller le serveur
/lockdown
Verrouille le serveur en empêchant tous les membres d'envoyer des messages.
-
Déverrouiller le serveur
/unlock
Déverrouille le serveur en permettant à tous les membres d'envoyer des messages.
-
Signaler un utilisateur
/report utilisateur:<@user> raison:<string>
Signale un utilisateur suspect ou un comportement inapproprié.
-
Lister les rapports d'un utilisateur
/listreports utilisateur:<@user>
Liste tous les rapports pour un utilisateur spécifique.
-
Supprimer un rapport
/deletereport reportid:<string>
Supprime un rapport par son ID.
-
Partager une ressource
/q17 share type:<string> lien:<string> description:<string>
Partage une ressource.
-
Proposer ou rechercher des services
/q17 service type:<string> description:<string> contact:<string>
Propose ou recherche des services.
-
Configurer le salon de logs
/setup logchannel channel:<#channel>
Configure le salon de logs.
-
Configurer le salon des annonces
/setup announcechannel channel:<#channel>
Configure le salon des annonces.
-
Configurer le salon des giveaways
/setup giveawaychannel channel:<#channel>
Configure le salon des giveaways.
-
Configurer le rôle de modération
/setup moderationrole role:<@role>
Configure le rôle de modération.
-
Configurer le rôle d'accès complet
/setup allaccessrole role:<@role>
Configure le rôle d'accès complet.
-
Configurer le rôle des giveaways
/setup giveawayrole role:<@role>
Configure le rôle des giveaways.
-
Configurer le rôle de l'équipe Q17
/setup q17role role:<@role>
Configure le rôle de l'équipe Q17.
-
Voir les paramètres de configuration actuels
/setup info
Affiche les paramètres de configuration actuels.