LDbot2 is a Discord bot designed for managing and organizing events.
Disclaimer: This bot was developed entirely with the help of ChatGPT for a specific, personal project and is made public for reference purposes only. The repository does not offer support, guarantees, or warranties for its functionality outside of its original intent. If you choose to utilize or modify the code, do so at your own risk.
Legend:
✅ Completed 🚧 In-Progress 📆 Planned
-
Slash Commands: Utilizes Discord's slash command feature for intuitive and easy command execution.
-
Admin Management:
- Settings
- ✅ Simple Permissions System: Define an admin-role for full bot admin permissions.
- ✅ Logging: Logging of bot activities and interactions to defined logging-channel.
- Events
- ✅ Create events
- ✅ Edit events
- ✅ Delete event
- ✅ List events
- 📆 Notifications: Send out notifications for upcoming events & registration info.
- Users
- ✅ Add users to events
- ✅ Dynamic participantslist: Generate dynamic event participants-list in defined event-channel.
- ✅ Dynamic seating map: Generate dynamic seating map in the participants channel and during user seat registration.
- ✅ Reserves list: Add users to an event reserveslist when participant seat limit is reached.
- ✅ Edit user details
- ✅ Remove users from events
- ✅ List users in events
- ✅ Add users to events
- Settings
-
User Commands:
- ✅ Register for event: Command for users to signup to events
- ✅ Edit registration: Functionality for users to edit their own user and event registration details (built into the register command)
- ✅ Unregister from event: Command for users to leave/remove themselves from an event
- ✅ View event & user Status info: Command for users to show some short event and user registration details
-
Clone the repository:
git clone https://github.com/fsk10/LDbot2.git
-
Navigate to the project directory:
cd LDbot2
-
Install dependencies:
npm install
-
Set up the bot in the discord developer portal: https://discordjs.guide/preparations/setting-up-a-bot-application.html
-
Create a config.json file in the root directory and add BOT_TOKEN, SERVER_ID (GUILD), CLIENT_ID (APPLICATION ID) and the BOT OWNER ID:
{ "BOT_TOKEN": "", "SERVER_ID": "", "CLIENT_ID": "", "BOT_OWNER_ID": "" }
-
Run the bot:
node app.js
Command | Description | Example |
---|---|---|
/adminget <setting> |
.... | .... |
/adminset <setting> <value> |
.... | .... |
/adminadd <event|user> |
.... | .... |
/adminedit <event|user|eventuser> |
.... | .... |
/admindel <event|user> |
.... | .... |
/adminlist <events|users> |
.... | .... |
/register <event> |
.... | .... |
/unregister <event> |
.... | .... |
/status . |
.... | .... |
.... | .... | .... |