https://github.com/mcpp-community/mcpp-bot
mcpp社区小助手
https://github.com/mcpp-community/mcpp-bot
Last synced: 19 days ago
JSON representation
mcpp社区小助手
- Host: GitHub
- URL: https://github.com/mcpp-community/mcpp-bot
- Owner: mcpp-community
- License: apache-2.0
- Created: 2026-01-23T17:29:03.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-02-14T15:31:09.000Z (4 months ago)
- Last Synced: 2026-02-14T23:35:43.203Z (4 months ago)
- Language: Python
- Homepage: https://mcpp.d2learn.org
- Size: 84 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MCPP Bot
A collection of GitHub automation tools for managing repositories and organizations.
## Project Structure
```
src/
├── components/ # Bot components and modules
│ ├── scan_join_issues.py # Process join requests
│ ├── task_checker.py # Check and remind on overdue tasks
│ └── README.md # Component documentation
├── config/ # Configuration files
│ ├── join-config.yml # Join request configuration
│ └── task-checker.yml # Task checker configuration
├── libs/ # Shared libraries
│ ├── github_client.py # GitHub API client
│ ├── utils.py # Utility functions
│ └── __init__.py
└── main.py # Main entry point
```
## Components
### 1. Task Checker
Monitors task issues with priority labels (P0/P1/P2) and sends reminders when they haven't been updated within configured timeouts.
**Quick Start:**
```bash
export GH_TOKEN="your_github_token"
python src/components/task_checker.py
```
**Features:**
- Scan single repository or entire organization
- Customizable timeout thresholds per priority (P0/P1/P2)
- Flexible reminder templates
- Repository exclusion support
- Configurable priority patterns
See [components/README.md](src/components/README.md) for detailed configuration options.
### 2. Join Request Scanner
Processes join request issues for organization membership management.
**Quick Start:**
```bash
export GH_TOKEN="your_github_token"
python src/components/scan_join_issues.py
```
## Quick Start
1. Clone the repository
2. Set up your GitHub token:
```bash
export GH_TOKEN="your_github_personal_access_token"
```
3. Configure the components in `src/config/`
4. Run the bot:
```bash
# Run all components
python src/main.py all
# Run specific component
python src/main.py join-issues
python src/main.py task-checker
# Run multiple components
python src/main.py join-issues task-checker
# Enable verbose error output
python src/main.py all --verbose
```
## Running Individual Components
You can also run components directly:
```bash
# Task checker
python src/components/task_checker.py
# Join issues scanner
python src/components/scan_join_issues.py
```
## Configuration
All components use YAML configuration files in `src/config/`:
- `join-config.yml` - Join request processing settings
- `task-checker.yml` - Task monitoring and reminder settings
## Requirements
- Python 3.7+
- GitHub Personal Access Token with appropriate permissions
- For task checker: `repo` scope (read issues, write comments)
- For join scanner: `admin:org` scope (manage organization members)
## GitHub Actions Workflows
This project includes automated workflows for scheduled execution:
- **Daily Bot Tasks** (`daily-scan.yml`): Runs all components daily at 02:20 UTC
- **Task Checker Hourly** (`task-checker-hourly.yml`): Checks task timeouts every 6 hours
See [.github/workflows/README.md](.github/workflows/README.md) for workflow documentation.
## License
See [LICENSE](LICENSE) for details.