telegram-mcp/CONTRIBUTING.md
2025-04-04 19:33:07 +08:00

2.4 KiB

Contributing to Telegram MCP

Thank you for your interest in contributing to the Telegram MCP project! This document provides guidelines and instructions for contributing.

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Set up the development environment by following the instructions in the README.md

Development Process

  1. Create a feature branch from the main branch
  2. Make your changes and commit them with descriptive commit messages
  3. Test your changes thoroughly
  4. Push your branch to your fork on GitHub
  5. Submit a pull request to the main repository

Coding Standards

  • Follow PEP 8 style guidelines for Python code
  • Include type hints for all function parameters and return values
  • Write comprehensive docstrings for all modules, classes, and functions
  • Use meaningful variable and function names

Pull Request Guidelines

  • Provide a clear description of the changes in your PR
  • Link any related issues
  • Keep PRs focused on a single feature or bug fix
  • Ensure your code passes all tests and linting checks

Feature Requests

If you have an idea for a new feature:

  1. Check existing issues to see if it has already been suggested
  2. Create a new issue with the "feature request" label
  3. Include a detailed description of the feature and its use cases

Bug Reports

When reporting a bug:

  1. Check existing issues to avoid duplicates
  2. Include detailed steps to reproduce the issue
  3. Describe the expected vs. actual behavior
  4. Include information about your environment (OS, Python version, etc.)

Project Structure

The project is organized as follows:

  • telegram-bridge/: Python application that connects to Telegram's API
  • telegram-mcp-server/: MCP server implementation exposing Telegram tools
  • run_telegram_server.sh: Convenient script for running the server

Future Roadmap

The project's roadmap includes:

  • Adding message threading support
  • Improving multimedia message handling
  • Adding support for editing messages
  • Creating a web UI for configuration and monitoring
  • Enhancing error handling and recovery

License

By contributing to this project, you agree that your contributions will be licensed under the same license as the project (see LICENSE file).

Questions?

If you have any questions about contributing, feel free to open an issue or reach out to the maintainers directly.

Thank you for your contributions!