Skip to content

ftrbnd/futurebound-bot

Repository files navigation


Logo

Futurebound Bot

A Discord bot for the Futurebound Discord server
Report Bug · Request Feature

Discord-server

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact

About The Project

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.

(back to top)

Built With

  • Heroku
  • Javascript
  • Node
  • Discord.js
  • MongoDB

(back to top)

Getting Started

Prerequisites

Installation

  1. Clone the repo
    git clone https://github.com/ftrbnd/futurebound-bot.git
  2. Install NPM packages
    yarn install
  3. Start the local dev server
    yarn dev

Configuration

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 => ...

(back to top)

Usage

Viewing the leaderboard on the Discord server

Discord Leaderboard

Use /help to view the list of all commands

Discord Help

Slash Commands provide users an easier experience when using commands

Discord Slash Commands

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Contact

Giovanni Salas - @finalcalI - [email protected]

Project Link: https://github.com/ftrbnd/futurebound-bot

(back to top)

About

A Discord bot for the Futurebound community server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published