A telegram bot for generating LLM responses, manipulating images and transcribing audio.
- Telegram bot API token
 - OpenRouter API key
 - fal.ai API key
 - ImageMagick binary installed
 
Copy config.sample.toml to config.toml and set your keys/options.
/chat: Keeping conversation context for a duration defined in the config, this handler uses OpenRouter to generate chat responses. Use#keywordin a message to target a specific model. Also works with replying to images, when using a model that supports vision./models: Show a list of currently active models for/chat./image: Generating images from a prompt, set to use Flux as default./edit: Edit images via prompt/scale: Liquid rescale images with a power factor/transcribe: Transcribe audio files and voice messages
The base architecture is hexagonal. For business logic and its interfaces, extend the ports side on internal/core.
Implementations that talks to something else than the business logic should be created as an adapter in
internal/adapters.
Commands are stored and fetched dynamically, use the CommandRegistry to register new commands. After that, you can
create the handler in main.go.