Requirements: Go 1.25+
git clone https://github.com/llan0/multichat.git
cd multichat
make build
./multichatOr run directly:
make run# Run with default channel
./multichat
# Run with specific channel
./multichat <channel>
# Show version
./multichat -versionFan in pattern to merge multiple chat streams:
graph LR
TP[Twitch Producer] -->|channel| M[Merge Service]
KP[Kick Producer] -->|channel| M
M -->|merged channel| UI[UI Consumer]
- Producers (
internal/adapters/) - producers run in separate goroutines, each streaming messages on their own channel - Service Layer (
internal/service/) - combines all producer channels into a single unified channel - UI (
internal/ui/) - consumes from the merged channel and displays messages in a Fyne window
fyne.io/fyne/v2github.com/gempir/go-twitch-irc/v4github.com/coder/websocketgo.uber.org/zap
# Run tests
make test
# Build binary
make build
# Clean build artifacts
make clean
# Show version
make version- Auth management
- Send messages
- Render emotes (BBTV, 7TV, FFZ)
- Multiple channel support

