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
- Clone the repo
git clone https://github.com/ftrbnd/futurebound-bot.git
- Install NPM packages
yarn install
- Start the local dev server
yarn dev
Create a .env
file at the root and fill out the values:
NODE_ENV=development
DISCORD_TOKEN=
DISCORD_CLIENT_ID=
GUILD_ID=
MONGODB_URI=
HEARDLE_WEBHOOK_ID=
HEARDLE_CHANNEL_ID =
HEARDLE_SERVER_URL=
HEARDLE_ROLE_ID=
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
# comma separated list of Imgur album ids (ex: '2k34h,l2343k,123kdf')
IMGUR_ALBUMS=
# ... and a lot of Discord ids for channels, roles, etc.
ANNOUNCEMENTS_CHANNEL_ID=
BOTS_CHANNEL_ID=
BOT_BAIT_CHANNEL_ID=
COMMANDS_CHANNEL_ID=
GENERAL_CHANNEL_ID=
INTRODUCTIONS_CHANNEL_ID=
JOIN_TO_CREATE_CHANNEL_ID=
LOGS_CHANNEL_ID=
MODERATORS_CHANNEL_ID=
ROLES_CHANNEL_ID=
SURVIVOR_CHANNEL_ID=
VOICE_CHAT_CHANNEL_ID=
WELCOME_CHANNEL_ID=
JOIN_TO_CREATE_CATEGORY_ID=
MODERATORS_ROLE_ID=
HELPERS_ROLE_ID=
TIER_3_ROLE_ID=
SUBSCRIBER_ROLE_ID=
BOOSTER_ROLE_ID=
SURVIVOR_ROLE_ID=
MUTED_ROLE_ID=
SUBSCRIBER_ROLE_IDS= # TIER_1 -> TIER_3
ALBUM_ROLE_IDS= # oldest => newest
INTRODUCTIONS_REACTION_EMOJI_ID=
GIVEAWAY_EMOJI_ID=
NUMBER_EMOJIS= # emojis for numbers after 10; 11 => ...
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 - [email protected]
Project Link: https://github.com/ftrbnd/futurebound-bot