A Discord bot for scheduling and managing meetings built with Discord.js.
- Create meetings with specific dates, times, and channels
- Schedule meetings in text or voice channels
- Send automatic reminders before meetings
- Allow attendees to confirm or decline attendance
- Reschedule or cancel meetings
- View all upcoming meetings
- Language: JavaScript (Node.js)
- Framework: discord.js v14
- Database: SQLite
- Scheduler: node-schedule
-
Clone the repository:
git clone https://github.com/BorisDemay/Schedulr cd schedulr
-
Install dependencies:
npm install
-
Create and configure your
.env
file:cp .env.example .env
-
Edit the
.env
file with your Discord bot token and other settings:TOKEN=your_discord_bot_token_here DATABASE_PATH=./data/schedulr.db REMINDER_TIMES=60,15
-
Start the bot:
npm start
The bot provides the following slash commands:
-
/meeting
- Create a new meetingsubject
- The subject of the meetingtime
- The time (HH:MM format)channel
- The channel where the meeting will be heldattendee1
- A user or role to invitedate
- (Optional) The date (DD/MM/YYYY format)attendee2-5
- (Optional) Additional users or roles to invite
-
/reschedule
- Reschedule an existing meetingmeeting_id
- The ID of the meeting to rescheduletime
- The new time (HH:MM format)date
- The new date (DD/MM/YYYY format)channel
- (Optional) The new channel for the meetingsubject
- (Optional) The new subject
-
/meetings
- List all upcoming meetings -
/cancel
- Cancel an existing meetingmeeting_id
- The ID of the meeting to cancel
- Create a new application at the Discord Developer Portal
- Create a bot user for your application
- Enable the following Privileged Gateway Intents:
- SERVER MEMBERS INTENT
- MESSAGE CONTENT INTENT
- Generate an invite URL with the following permissions:
bot
applications.commands
- Permissions: Send Messages, Embed Links, Attach Files, Read Message History, Add Reactions
- Invite the bot to your server
- Automatic Reminders: The bot sends reminders at configured intervals (default: 60 and 15 minutes before the meeting)
- RSVP System: Members can confirm or decline attendance with buttons
- Meeting Invitations: Creates invitation links for meeting channels
- Timezone Support: Stores meetings with timezone information
- Node.js 16.x or higher
- Discord.js v14
- SQLite database
This project is licensed under the MIT License.
git clone https://github.com/BorisDemay/Schedulr
cd schedulr