Thank you for considering contributing to this project! We welcome contributions from everyone.
- Getting Started
- How to Contribute
- Coding Standards
- Commit Guidelines
- Pull Request Process
- License Requirements
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/discord-bot-framework.git - Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Test thoroughly
- Submit a pull request
If you find a bug, please create an issue using the Bug Report template and include:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Your environment (Python version, discord.py version, OS)
- Relevant logs from
botlogs/
We love new ideas! Create an issue using the Feature Request template with:
- Clear description of the feature
- Why it would be useful
- Example use cases
- Optional: Implementation suggestions
Documentation improvements are always welcome:
- Fix typos or unclear instructions
- Add examples
- Improve existing explanations
- Translate documentation
- Pick an issue or create one for discussion
- Comment on the issue that you're working on it
- Follow the coding standards below
- Write clear, commented code
- Test your changes thoroughly
- Submit a pull request
- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Add docstrings to functions and classes
- Keep functions focused and concise
- Use type hints where appropriate
async def example_command(ctx, user: discord.Member, reason: str = "No reason provided"):
"""
Example command that demonstrates proper formatting.
Args:
ctx: The command context
user: The member to target
reason: Optional reason string
"""
await ctx.send(f"Action taken on {user.mention}: {reason}")- Place extension files in the
extensions/folder - Use cogs for organizing related commands
- Keep
main.pyfocused on core bot functionality - Create helper functions for repeated code
- Comment complex logic
- Use inline comments sparingly
- Prefer clear code over excessive comments
- Document why, not what
type(scope): brief description
Longer description if needed
Fixes #issue_number
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc.)refactor: Code refactoringtest: Adding testschore: Maintenance tasks
feat(help): add pagination to help menu
fix(logging): resolve file handler permission error
docs(readme): update installation instructions
- Update Documentation: Ensure README and relevant docs are updated
- Test Your Changes: Run the bot and test all affected features
- Clean Commit History: Squash commits if needed
- Fill Out PR Template: Provide clear description of changes
- Link Issues: Reference any related issues
- Wait for Review: Maintainers will review and provide feedback
- Address Feedback: Make requested changes promptly
- Approval: Once approved, your PR will be merged
- Code follows project style guidelines
- Self-review completed
- Comments added for complex code
- Documentation updated
- No new warnings generated
- Tested in a Discord server
- Related issues linked
IMPORTANT: All contributions must respect the MIT License with Additional Terms:
- Keep the original license notice in
main.py - Maintain the
CreditsButtonclass functionality - Preserve author attribution to "TheHolyOneZ"
- Not remove or obscure the credits button
- Add your own features and extensions
- Modify existing code (except credits requirements)
- Add yourself to a contributors list
- Create derivative works (following license terms)
By contributing, you agree that:
- Your contributions will be under the same license
- You have the right to submit the work
- You understand the license requirements
We may add a CONTRIBUTORS.md file to acknowledge contributions.
If you have questions about contributing:
- Check existing issues and discussions
- Create a new issue with the "question" label
- Reach out to @TheHolyOneZ
Every contribution, no matter how small, is valuable and appreciated!
Made with 💜 by the Discord Bot Framework community