Table of Contents
This Discord bot was created during the peak of the pandemic in May 2020 and was made to help manage the growth the Futurebound server was experiencing. It was this project that reignited my passion for programming, and it has continued to be maintained throughout the years.
In addition to some basic moderation commands (/ban
, /warn
, etc.), the bot also helps automate the hosting of listening parties, announcing the new daily Heardle, plays music in voice channels,
and even has a /guessthesong
game.
- Node.js 18 or higher
- Client keys from Discord
- Database url from MongoDB
- API key from OpenAI
- API key from Spotify for the music player
- Database urls and key from Supabase for using Heardle commands
- Clone the repo
git clone https://github.com/ftrbnd/futurebound-bot.git
- Install NPM packages
npm install
- Start the local dev server
npm run dev
Create a .env
file at the root and fill out the values:
DISCORD_TOKEN=
CLIENT_ID=
MONGODB_URI=
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
OPENAI_API_KEY=
SUPABASE_URL=
SUPABASE_KEY=
# Set this to one minute before EDEN Heardle resets (4am UTC)
CRON_HOUR=3
CRON_MINUTE=59
# ... and a lot of Discord ids for channels, roles, etc.
GUILD_ID=
MODERATORS_CHANNEL_ID=
LOGS_CHANNEL_ID=
COMMANDS_CHANNEL_ID=
JOIN_TO_CREATE_ID=
VOICE_CHAT_ID=
JOIN_TO_CREATE_CATEGORY_ID=
MODERATORS_ROLE_ID=
MUTE_ROLE_ID=
WELCOME_CHANNEL_ID=
GENERAL_CHANNEL_ID=
ANNOUNCEMENTS_CHANNEL_ID=
UPVOTE_EMOJI_ID=
DOWNVOTE_EMOJI_ID=
SURVIVOR_CHANNEL_NAME=
SURVIVOR_ROLE_ID=
ROLES_CHANNEL_ID=
FUTUREBOUND_ROLE_ID=
INTRODUCTIONS_CHANNEL_ID=
KERMITHEARTS_EMOJI_ID=
SUBSCRIBER_ROLE_ID=
TIER_3_ROLE_ID=
BOTS_CHANNEL_ID=
GIVEAWAY_EMOJI_ID=
HEARDLE_CHANNEL_ID=
# for use with EmbedBuilders
MUSIC_COLOR=f94c57
ERROR_COLOR=DF0000
CONFIRM_COLOR=32FF25
GIVEAWAY_COLOR=7CF3FF
HEARDLE_COLOR=f9d72f
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Giovanni Salas - @finalcalI - giosalas25@gmail.com
Project Link: https://github.com/ftrbnd/futurebound-bot