No description
Find a file
Tom Foster 3fcab7d2eb enhance: add comprehensive logging and Matrix error handling
Add detailed logging throughout ComfyUI client and plugin to aid troubleshooting
of API interactions and workflow execution. Implement specific Matrix error
handling with graceful degradation for robust operation.
2025-09-01 22:10:09 +01:00
comfyui enhance: add comprehensive logging and Matrix error handling 2025-09-01 22:10:09 +01:00
.gitignore feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
.markdownlint.yaml feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
.pre-commit-config.yaml feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
base-config.yaml feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
LICENSE Initial commit 2025-09-01 18:58:14 +01:00
maubot.yaml feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
pyproject.toml feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
README.md feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00
uv.lock feat(plugin): add ComfyUI Maubot plugin for text-to-image generation 2025-09-01 21:23:45 +01:00

ComfyUI Maubot plugin

Matrix bot for AI image generation via ComfyUI. Send text prompts, get images back with rate limiting and access control.

Quick start

  1. Build: zip -r comfyui.mbp maubot.yaml base-config.yaml comfyui/
  2. Upload to Maubot and create bot instance
  3. Configure ComfyUI URL and workflow name
  4. Use: !generate <prompt>

Configuration

Required settings:

  • comfyui_url: ComfyUI instance URL (e.g. http://localhost:8188)
  • workflow_name: Saved workflow name in ComfyUI

Optional settings:

  • rate_limit: Per-user limits (default: 5 per 24 hours)
  • allow_list/deny_list: User access control
  • messages: Custom denial/error messages
  • reactions: Status emoji (👀⚙️/)

Example config:

comfyui_url: "http://localhost:8188"
workflow_name: "default_txt2img"
rate_limit:
  max_generations: 10
  hours: 24
allow_list: ["@admin:example.org"]

Features

  • Text-to-image generation with ComfyUI workflows
  • Sequential request queueing with emoji status updates
  • Per-user rate limiting with rolling time windows
  • Allow/deny lists (allow_list bypasses rate limits)
  • Configurable messages and reactions

Development

Structure: base.py (queueing/limits), client.py (ComfyUI API), plugin.py (Matrix handlers), config.py (settings)

Dependencies: aiohttp, pillow

Licensed under Apache 2.0.