Metadata-Version: 2.4
Name: elizaos-plugin-mattermost
Version: 2.0.0a4
Summary: Mattermost plugin for elizaOS - Python implementation for bot integration
Project-URL: Homepage, https://github.com/elizaos/eliza
Project-URL: Documentation, https://elizaos.ai/docs
Project-URL: Repository, https://github.com/elizaos/eliza
Author: elizaOS Contributors
License-Expression: MIT
Keywords: agents,ai,bot,chat,elizaos,mattermost
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: httpx>=0.28.0
Requires-Dist: pydantic>=2.10.0
Requires-Dist: websockets>=13.0
Provides-Extra: dev
Requires-Dist: mypy>=1.14.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: python-dotenv>=1.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Description-Content-Type: text/markdown

# elizaos-plugin-mattermost (Python)

Python implementation of the Mattermost plugin for elizaOS.

## Installation

```bash
pip install elizaos-plugin-mattermost
```

## Quick Start

```python
import asyncio
from elizaos_plugin_mattermost import MattermostConfig, MattermostService, MattermostContent

async def main():
    # Create config from environment variables
    config = MattermostConfig.from_env()
    
    # Or create config manually
    config = MattermostConfig(
        server_url="https://chat.example.com",
        bot_token="your-bot-token",
    )
    
    # Create and start service
    service = MattermostService(config)
    await service.start()
    
    # Register message handler
    def on_message(payload):
        print(f"Received message: {payload.post.message}")
    
    service.on_message(on_message)
    
    # Send a message
    content = MattermostContent(text="Hello from Python!")
    await service.send_message("channel_id", content)
    
    # Keep running
    try:
        while True:
            await asyncio.sleep(1)
    except KeyboardInterrupt:
        await service.stop()

asyncio.run(main())
```

## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linter
ruff check .
ruff format .
```

## License

MIT
