Metadata-Version: 2.4
Name: kryten-moderator
Version: 0.3.4
Summary: Kryten moderation service - handles chat moderation and filtering
Project-URL: Homepage, https://github.com/grobertson/kryten-moderator
Project-URL: Repository, https://github.com/grobertson/kryten-moderator
Project-URL: Issues, https://github.com/grobertson/kryten-moderator/issues
Author-email: Kryten Robot Team <geoff@beaverdog.io>
License: MIT
License-File: LICENSE
Keywords: chat,cytube,microservices,moderation,nats
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: kryten-py>=0.9.11
Description-Content-Type: text/markdown

"# Kryten Moderator

Kryten moderation service - handles chat moderation and filtering for CyTube.

## Features

- Real-time chat message monitoring
- User tracking and management
- Event-driven architecture using NATS
- Extensible moderation rules

## Installation

### Prerequisites

- Python 3.10 or higher
- Poetry
- NATS server running
- kryten-py library

### Setup

1. Install dependencies:
```bash
uv sync
```

2. Copy the example configuration:
```bash
cp config.example.json config.json
```

3. Edit `config.json` with your settings:
```json
{
  "nats_url": "nats://localhost:4222",
  "nats_subject_prefix": "kryten",
  "service_name": "moderator"
}
```

## Usage

### Running the Service

Using Poetry:
```bash
uv run kryten-moderator --config config.json
```

Using the startup script (PowerShell):
```powershell
.\start-moderator.ps1
```

Using the startup script (Bash):
```bash
./start-moderator.sh
```

### Command Line Options

- `--config PATH`: Path to configuration file (default: `/etc/kryten/moderator/config.json`)
- `--log-level LEVEL`: Set logging level (DEBUG, INFO, WARNING, ERROR)

## Event Handling

The service currently listens for:

- **chatMsg**: Chat messages from users
- **addUser**: User join events

## Development

### Running Tests

```bash
uv run pytest
```

### Linting

```bash
uv run ruff check .
```

### Formatting

```bash
uv run black .
```

## License

MIT License - see LICENSE file for details
" 
