Ce dépôt contient les sources du bot EPLBot présent sur le discord de l'École Polytechnique de Louvain-la-Neuve (EPL).
Avant de commencer, assurez-vous d'avoir les éléments suivants :
- Java Development Kit (JDK) 21 installé sur votre machine.
- Un compte Discord pour créer un bot et obtenir un jeton d'authentification.
- Gradle installé (ou vous pouvez utiliser la version fournie avec le projet).
-
Clonez ce dépôt sur votre machine :
git clone https://github.com/Hokkaydo/EPLBot.git
-
Accédez au répertoire du projet :
cd eplbot
-
Créez un répertoire pour la persistence:
mkdir persistence
-
Compilez le projet en exécutant la commande :
./gradlew shadowJar
-
Renommez le fichier
variables.env.example
envariables.env
et renseignez-y vos variables d'environnement suivant :DISCORD_BOT_TOKEN
: Jeton d'identification de votre bot DiscordTEST_DISCORD_ID
: Identifiant du discord sur lequel vous souhaitez tester le botGITHUB_APPLICATION_ID
: Identifiant de l'application Github liée (permet de gérer les issues) (Optionnel)GITHUB_APPLICATION_INSTALLATION_ID
: Identifiant d'installation de l'application Github liée (permet de gérer les issues) (Optionnel)HASTEBIN_TOKEN
: Jeton d'identification auprès de l'API de Hastebin
-
Lancez le bot :
./gradlew run
Pour exécuter le bot dans un conteneur Docker, voici la marche à suivre.
-
Build l'image Docker
docker build . -t eplbot
-
Lancer le docker
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -e DISCORD_BOT_TOKEN=token -e TEST_DISCORD_ID=id-de-votre-discord-de-test -t eplbot
Le bot propose un système modulaire permettant d'activer et désactiver les modules via les commandes Discord /enable <module>
et /disable <module>
.
Les contributions à ce projet sont les bienvenues. Si vous souhaitez apporter des améliorations, veuillez créer une branche à partir de la branche master
, effectuer vos modifications et soumettre une Pull Request (PR).
Pensez à consulter CONTRIBUTION.md afin de comprendre la structure du projet
- Documentation JDA : https://github.com/DV8FromTheWorld/JDA
- Tutoriels Discord API : https://discord.com/developers/docs/intro
Ce projet est sous licence GNU GPLv3.