Contributing to Seasonalbot

This guide is new and is the process of testing and refinement. If you have any troubles following it, let staff know!

Before contributing, please ensure you read the contributing guidelines in full.

Setup Instructions


  1. Install requirements
  2. Setup a test server and a bot account
  3. Fork the project repository
  4. Configure the development environment
  5. Run the project
  6. Work with git to make changes

Requirements


Test Server and Bot Account

You will need your own test server and bot account on Discord to test your changes to the bot.
1. Create a test server.
2. Create a bot account and invite it to the server you just created.
3. Create the following text channels:
#announcements
#seasonalbot-log
#seasonalbot-chat
#seasonalbot-commands
4. Create the following roles:
@Admin
5. Note down the IDs for your server, as well as any channels and roles created.


Fork the Project

You will need your own remote (online) copy of the project repository, known as a fork.

You will do all your work in the fork rather than directly in the main repository.


Development Environment

  1. Once you have your fork, you will need to clone the repository to your computer.
  2. After cloning, proceed to install the project's dependencies.
  3. After installing dependencies, you will have to setup the following environment variables:
Environment Variable Description Default Values
SEASONALBOT_DEBUG Debug mode of the bot True
SEASONALBOT_GUILD ID of the Discord Server
SEASONALBOT_TOKEN Bot Token
SEASONALBOT_ADMIN_ROLE_ID ID of the role @Admins
CHANNEL_ANNOUNCEMENTS ID of the #announcements channel
CHANNEL_DEVLOG ID of the #dev-log channel
CHANNEL_SEASONALBOT_CHAT ID of the #seasonalbot-chat channel
CHANNEL_SEASONALBOT_COMMANDS ID of the #seasonalbot-commands channel

Run the project

To run the project, use the pipenv command pipenv run start in the project root.

$ pipenv run start

Working with Git

Now that you have everything setup, it is finally time to make changes to the bot! If you have not yet read the contributing guidelines, now is a good time. Contributions that do not adhere to the guidelines may be rejected.

Notably, version control of our projects is done using Git and Github. It can be intimidating at first, so feel free to ask for any help in the server.

Click here to see the basic Git workflow when contributing to one of our projects.

Have fun!