feat: implement EVE Forum Moderator CLI tool
- Add structured forum rules from EVE moderation policy - Implement cookie-based Discourse authentication - Add async Discourse API client with rate limiting - Implement Claude-powered rule violation analyzer - Add rich terminal and Discourse-compatible markdown reports - Create Click CLI with review and rules commands
This commit is contained in:
161
README.md
161
README.md
@@ -1,3 +1,160 @@
|
||||
# eve-forum-moderator
|
||||
# EVE Forum Moderator
|
||||
|
||||
AI-assisted EVE Online forum moderation tool - analyzes user posting history for rule violations
|
||||
AI-assisted EVE Online forum moderation tool - analyzes user posting history for rule violations.
|
||||
|
||||
## Features
|
||||
|
||||
- Fetches user post history from the EVE Online forums (Discourse)
|
||||
- Analyzes posts using Claude AI for potential rule violations
|
||||
- Generates Discourse-compatible markdown reports
|
||||
- Supports configurable time ranges and output options
|
||||
|
||||
## Installation
|
||||
|
||||
Requires Python 3.11+ and [uv](https://docs.astral.sh/uv/).
|
||||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://gitea.ext.ben.io/b3nw/eve-forum-moderator.git
|
||||
cd eve-forum-moderator
|
||||
|
||||
# Install dependencies
|
||||
uv sync
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### 1. Cookie Setup
|
||||
|
||||
Export your browser cookies after logging into forums.eveonline.com:
|
||||
|
||||
1. Log into https://forums.eveonline.com with your moderator account
|
||||
2. Open Developer Tools (F12) → Application → Cookies → forums.eveonline.com
|
||||
3. Copy the values for `_forum_session` and `_t`
|
||||
4. Create a `cookies.env` file:
|
||||
|
||||
```env
|
||||
_forum_session=your_session_cookie_value
|
||||
_t=your_auth_token_value
|
||||
```
|
||||
|
||||
Alternatively, use a browser extension like "cookies.txt" to export in Netscape format.
|
||||
|
||||
### 2. LLM API Setup
|
||||
|
||||
Create a `.env` file with your LLM proxy API key:
|
||||
|
||||
```env
|
||||
LLM_PROXY_KEY=your_api_key_here
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Review a User
|
||||
|
||||
```bash
|
||||
# Basic usage - analyze last 30 days
|
||||
uv run eve-mod review "SomePlayer"
|
||||
|
||||
# Specify time range
|
||||
uv run eve-mod review "SomePlayer" --days 14
|
||||
|
||||
# Verbose output with detailed analysis
|
||||
uv run eve-mod review "SomePlayer" --verbose
|
||||
|
||||
# Custom cookie file and output path
|
||||
uv run eve-mod review "SomePlayer" --cookies ./my-cookies.env --output ./report.md
|
||||
```
|
||||
|
||||
### View Forum Rules
|
||||
|
||||
```bash
|
||||
uv run eve-mod rules
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
| `--days, -d` | Number of days to analyze (default: 30) |
|
||||
| `--cookies, -c` | Path to cookies file (default: cookies.env) |
|
||||
| `--output, -o` | Custom output path for markdown report |
|
||||
| `--verbose, -v` | Show detailed violation analysis |
|
||||
| `--max-posts` | Maximum posts to fetch (default: 200) |
|
||||
| `--enrich/--no-enrich` | Fetch full post content (default: enabled) |
|
||||
|
||||
## Output
|
||||
|
||||
Reports are generated in two formats:
|
||||
|
||||
1. **Terminal** - Rich-formatted summary with color-coded severity
|
||||
2. **Markdown** - Discourse-compatible file saved to `reports/` directory
|
||||
|
||||
### Sample Report Format
|
||||
|
||||
```markdown
|
||||
## User Review: SomePlayer
|
||||
**Period:** Last 30 days
|
||||
**Posts Analyzed:** 47
|
||||
**Posts with Violations:** 3
|
||||
|
||||
---
|
||||
|
||||
### Summary
|
||||
|
||||
| Date | Topic | Rule | Severity | Confidence |
|
||||
|------|-------|------|----------|------------|
|
||||
| 2026-01-03 | [Thread Title](url) | 1.2: Flaming | [MED] | 85% |
|
||||
|
||||
---
|
||||
|
||||
### Detailed Analysis
|
||||
|
||||
#### 1. [Thread Title](url)
|
||||
**Date:** 2026-01-03 | **Category:** General Discussion
|
||||
|
||||
**[MED] Rule 1.2 - Flaming** (Confidence: 85%)
|
||||
|
||||
> "Relevant quote from the post"
|
||||
|
||||
*Explanation of why this violates the rule*
|
||||
```
|
||||
|
||||
## Forum Rules
|
||||
|
||||
The tool checks against the official [EVE Forum Moderation Policy](https://support.eveonline.com/hc/en-us/articles/8563133115932-Forum-Moderation-Policy):
|
||||
|
||||
### Prohibited Conduct (1.x)
|
||||
- Trolling, Flaming, Ranting, Personal Attacks
|
||||
- Harassment, Doxxing
|
||||
- Racism & Discrimination, Hate Speech, Sexism
|
||||
- Spamming, Bumping, Off-Topic Posting
|
||||
- New Player Bashing, Impersonation, Advertising
|
||||
|
||||
### Prohibited Content (2.x)
|
||||
- Pornography, Profanity
|
||||
- Real Money Trading (RMT)
|
||||
- Discussion of Warnings/Bans/Moderation
|
||||
- Private CCP Communications
|
||||
- In-Game Bugs & Exploits
|
||||
- Real World Religion/Politics
|
||||
|
||||
### Other Rules (3-9)
|
||||
- Non-Constructive Posting
|
||||
- Abuse of Forum Tools
|
||||
- Re-Opening Locked Topics
|
||||
- Attacking CCP/ISD Staff
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Run with verbose logging
|
||||
uv run eve-mod review "TestUser" -v
|
||||
|
||||
# Check installed version
|
||||
uv run eve-mod --version
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Private - for authorized moderator use only.
|
||||
|
||||
Reference in New Issue
Block a user