Skip to content

Latest commit

 

History

History
69 lines (59 loc) · 2.61 KB

File metadata and controls

69 lines (59 loc) · 2.61 KB

Contribute to RepulsBot

Thank you for your interest in contributing to the official repuls.io bot! This guide will help you participate effectively in development.

Report a problem/suggest an idea

Open an issue specifying:

  1. Expected vs. Observed bot behavior
  2. Steps to reproduce the bug
  3. Screenshot if relevant
  4. Bot version (commit executed)

Development

License

The bot and everything that composes it (icon, code, etc.) are under the MIT license (see LICENSE.txt file). By contributing (whether it be code, graphics, links, or anything else), you agree to publish it under the same license.

Prerequisites

Fork and code

  1. Fork the repository and clone it locally with:
git clone https://github.com/pandaroux007/RepulsBot.git
cd RepulsBot
  1. Install dependencies with uv: The required modules will be installed automatically with uv run main.py.
uv venv
  1. Configure your environment:
    • Create a .env file in data in the format specified in .env.example
    • Change all the dev IDs in data/constants.py
  2. Develop new features, fix bugs 🙏
  3. Test the bot by launching it with uv run main.py

Best Practices

  • Development:

    • Use snake_case notation for variables and files.
    • Structure your code into modules (cogs/) and adhere to the established directory structure.
    • Use the static analysis tool RUFF.
  • Test before submitting

    • Use Mockoon for endpoints (video system, game interaction, or anything else).
    • Verify the integrity of the database after adding your features/fixes.
    • Plan a database migration schema if you add or modify storage.
  • Submitting pull requests

    • Use the Pull Request template and provide the requested information.
    • Store secret data (tokens, endpoints, etc.) in the .env file.

Important

During review, any contribution containing unmasked sensitive information will be systematically rejected (this demonstrates a lack of rigor on the part of the developer).

Upgrade dependencies

discord.py

uv lock --upgrade-package discord.py
uv sync

all packages

astral-sh/uv#6692

uv pip list --outdated
uv lock --upgrade
uv sync