Files
eve-forum-moderator/README.md
Ben 9d60f1a2fb 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
2026-01-06 03:40:56 +00:00

161 lines
3.7 KiB
Markdown

# EVE Forum Moderator
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.