Thank you for your interest in contributing to IpverseBot! This document provides guidelines for contributing to the project.
- Use the GitHub issue tracker to report bugs
- Provide detailed information about the issue
- Include steps to reproduce the problem
- Specify your environment (OS, Python version, etc.)
- Open an issue with the "enhancement" label
- Clearly describe the proposed feature
- Explain why it would be useful
- Consider backward compatibility
- Python 3.8+
- Familiarity with aiogram framework
- Understanding of Telegram Bot API
- Fork the repository
- Clone your fork:
git clone https://github.com/Matrix-Community-ORG/IpverseBot.git - Create a virtual environment:
python3 -m venv venv - Activate it:
source venv/bin/activate - Install dependencies:
pip install -r requirements.txt - Copy
.env.exampleto.envand configure
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Add appropriate documentation
- Test your changes thoroughly
- Commit with clear messages
- Push to your fork
- Create a pull request
- Follow PEP 8 style guide
- Use type hints where appropriate
- Add docstrings to all functions and classes
- Keep functions focused and small
- Update README.md if needed
- Add inline comments for complex logic
- Include docstrings for all public functions
- Update this CONTRIBUTING.md if process changes
- Use present tense: "Add feature" not "Added feature"
- Keep first line under 50 characters
- Reference issues when applicable: "Fix #123"
- Test all new features manually
- Ensure existing functionality isn't broken
- Test with different user scenarios
- Verify admin panel functionality
- All user-facing text should support both English and Persian
- Add translations to both language dictionaries in
config/settings.py - Consider cultural differences in messaging
- Never commit sensitive data (tokens, passwords)
- Use environment variables for configuration
- Validate all user inputs
- Follow principle of least privilege
- English Community: @MatrixORG
- Persian Community: @MatrixFa
- Chat Group: @DD0SChat
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to IpverseBot! 🚀