ESIEE+ bot is a discord bot developed in typescript to help students find available classrooms at ESIEE Paris. To do this, the bot retrieves the timetable for each class from Adesoft's ADE Planning software, using the ade-planning-api wrapper.
- Clone this repository:
git clone https://github.com/ilo80/esiee-plus-bot.git cd esiee-plus-bot
- Install dependencies:
npm install
- Configure the environnement file:
- Copy
.env.example
to.env
:cp .env.example .env
- Fill the required fields in the
.env
file
- Copy
- Start the bot:
npm start
- Clone this repository:
git clone https://github.com/ilo80/esiee-plus-bot.git cd esiee-plus-bot
- Configure the environnement file:
- Copy
.env.example
to.env
:cp .env.example .env
- Fill the required fields in the
.env
file
- Copy
- Start the bot with Docker Compose:
docker compose up -d
The bot uses a .env
file for its configuration. Below are the variables you need to set:
Variables | Description |
---|---|
DISCORD_TOKEN |
Your Discord bot token |
DISCORD_GUILD_ID |
The ID of the discord server where the bot will operate |
ADE_LINK |
The URL of the ADE Planning instance |
ADE_USERNAME |
Username to authenticate with ADE Planning |
ADE_PASSWORD |
Password to authenticate with ADE Planning |
Once the bot is running:
- Invite it to your Discord server using the OAuth2 URL from the Discord Developer Portal
- Interact with the bot using :
/edt
: Find available rooms for a given period!/ping
: Return bot latency/statut_salle
: Get statusof a classroom, including its availability, lock status, board type, equipment, and capacity.
Contributions are welcome! Here's how you can help:
-
Fork this repository
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes using conventional commit messages. Examples
feat: add new command to check room availability by building
fix: handle edge cases when ADE is unreachable
docs: update usage examples in README
Refer to Conventional Commits for details.
-
Push to your branch:
git push origine feature/your-feature-name
-
Open a pull request.
This project is licensed under the GPL 3.0 License