Ce projet est un bot Discord développé avec [email protected] 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.jsondans le répertoireconfigavec 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 listListe 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 listListe tous les giveaways disponibles.
-
Scanner le serveur
/scanScanne l'intégrité de l'infrastructure et affiche les résultats après 4 secondes.
-
Verrouiller le serveur
/lockdownVerrouille le serveur en empêchant tous les membres d'envoyer des messages.
-
Déverrouiller le serveur
/unlockDé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 infoAffiche les paramètres de configuration actuels.