Contributing to Sir Lancebot

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


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
    • #dev-log
    • #sir-lancebot-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
BOT_DEBUG Debug mode of the bot False
BOT_GUILD ID of the Discord Server
BOT_ADMIN_ROLE_ID ID of the role @Admins
CHANNEL_ANNOUNCEMENTS ID of the #announcements channel
CHANNEL_DEVLOG ID of the #dev-log channel
CHANNEL_COMMUNITY_BOT_COMMANDS ID of the #sir-lancebot-commands channel
CYCLE_FREQUENCY Amount of days between cycling server icon 3

Additionally, you may find the following environment variables useful during development:

Environment Variable Description
MONTH_OVERRIDE Interger in range [0, 12], overrides current month w.r.t. seasonal decorators
GITHUB_TOKEN Personal access token for GitHub, raises rate limits from 60 to 5000 requests per hour

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!