Fork and then clone
Navigate into project
cd bobabotInitialize your python virtual environment
NOTE: This is only necessary for new environment setups_
python -m venv venvActivate the python virtual environment
source venv/bin/activateInstall project dependencies into virtual environment
pip install -r requirements.txt
pip install -r requirements.dev.txtFirst, create a new server
Enter server settings
Under Community, register your server as a community server
Add a new forum text channel, make the name match your .env variable DISCORD_CHANNEL_NAME
Under the settings for this new channel, add a couple tags. These represent different fields/roles.
# Example Tags
SWE, PM, DS, UI/UXAdditionally, register for a discord developer account and create a new bot application.
Invite your bot to your server with the following set of permissions:
- Manage Server
- Manage Channels
- Send Messages
- Create Public Threads
- Manage Messages
- Embed Links
- Use Slash Commands
NOTE: Generate a new token under the bot tab and keep it, it will be used later in the .env file
Ensure Docker is installed
Open Terminal/Command Prompt
Pull MongoDB
docker pull mongo:latestStart a mongoDB server bound to port 27017 (Or a port of your choosing, provided you update your localhost address in .env later).
docker run -d -p 27017:27017 --name bobabot mongo:latestTo ensure that our port and container are running properly, in the command prompt write:
docker psThis should return a list of active containers, and under port you will find listed 0.0.0.0:27017 (or your custom port address)
Next, we need to configure our .env file to ensure we connect to the correct container when running our local development server.
Within your repository, create a file named ".env".
From there copy the contents of sample.env into .env, fill in your own unique token and server, and remove the comments.
Start your docker container (If needed) either from the previous guide, or the docker desktop application.
Navigate to your server folder
cd bobabot/serverRun the server with flask
flask --app routes.py runOpen a separate terminal tab and navigate to your bot folder
cd bobabot/botFrom here, run the bot
python main.pyFrom here, you should see errors and console output within the terminal tab.
This project uses Black as formatting guidelines. Pre-commit is used to auto format as users commit their work.
pre-commit run --all-filesRun pre-commit on all files to check current formatting status of the project.