I built yet another Twitch bot but better
Hey obsproject streamers folks! I've been working on https://twir.app - a completely free, open-source Twitch bot that's packed with unique features I haven't seen in other bots. I wanted to share it with you because I think it could improve your streams, and I'm open to any kind of suggestions to improve my service.
What makes Twir different?
Most Twitch bots offer commands, timers, and basic moderation. Twir has all that (and way more), but here are the truly unique features that set it apart:
1. Built-in Shazam (!song Command)
This is honestly game-changing - identify any song playing on stream with a simple !song command. No manual setup, no external services, no copying song names. Your viewers can instantly discover what's playing, and it just works. This alone has been the most requested feature I've seen across streaming communities, and it's built right in.
Perfect for:
- IRL streamers with background music
- Just Chatting streams with Spotify/music
- Gaming streams with in-game soundtracks
- Any stream where viewers ask "what song is this?"
2. Physics-Based "Dudes" Overlay
Interactive characters that bounce around your screen when viewers chat. Imagine little customizable dudes with physics, emotions, and cosmetics that react to your chat in real-time. They can:
- Spawn on messages with customizable gravity and scale
- Have different colors, eyes, and cosmetics
- Spit emotes
- Grow and shrink with animations
- Play sound effects
It's like having a living, breathing chat overlay that's actually fun to watch.
3. Advanced Kappagen (Emote Animation System)
Not just "emote rain" - this is a full animation engine with 11 different animation styles:
- The Cube, Spiral, Stampede, Fireworks, Fountain, Burst, Conga, Pyramid
- Support for FFZ, BTTV, 7TV emotes
- Event-triggered animations (follows, subs, raids)
- Rave mode for extra chaos
4. OBS Control from Chat/Events
Control your entire OBS setup without leaving your game or alt-tabbing:
- Switch scenes via chat commands or automated events
- Toggle sources, control audio levels
- Start/stop stream
- Create automated scene switches based on events (e.g., "raid scene" when raided)
5. Event Automation System (30+ Triggers, 60+ Actions)
Build complex automations like:
- "When user follows → give VIP for 24h → send welcome message → trigger confetti overlay"
- "When raided with 100+ viewers → change title → switch OBS scene → send shoutout"
- "When keyword matched → timeout random viewer → play alert sound"
The possibilities are endless.
6. Multi-Layer Custom Overlay Builder
Create complex overlays with HTML/CSS/JavaScript in a layered system (up to 15 layers). Not just templates - full creative freedom with:
- Position, rotation, opacity controls per layer
- Real-time data updates
- Image layers
- Custom code execution
7. Built-in TTS System
Complete text-to-speech with:
- Multiple voice support (user-specific voices)
- Pitch, rate, volume controls
- Auto-read chat messages
- Queue management
- Chat overlay with full controls
No external services needed.
The "Standard" Features (Done Better)
Even the "boring" stuff is packed with features:
Commands: 100+ built-in commands + unlimited custom commands with:
- Multiple responses per command (up to 3)
- Advanced conditions (watch time, message count, points spent)
- Command groups, expiration dates, game category filters
- In-chat command editor (add/edit without dashboard)
Moderation: AI-level smart:
- Language detection with multi-language support
- "One man spam" detection
- Symbols, caps, emotes, long messages, links filtering
- Chat wall for phrase protection
- Auto-translation to your preferred language
Integrations: Works with everything:
- Discord (multi-server notifications)
- Spotify, Last.fm
- DonationAlerts, Donatello, Streamlabs (and more donation platforms)
- 7TV (full emote management from chat)
- FACEIT, Valorant, Dota 2 (gaming stats)
- OBS WebSocket
Song Requests: Not just "add song":
- YouTube integration with auto-announce
- Vote skip, queue management
- Length/views/category restrictions
- Public queue view
- Extract songs from donation messages
Variables: 100+ built-in variables + custom scripts in JavaScript or Python
Chat Alerts: Smart tiered messages for follows, raids, donations, subs, cheers, redemptions, first messages, and more
Overlays: Chat, Now Playing, Be Right Back, TTS, Kappagen, Dudes, Alerts, Custom HTML
Unique Features You Won't Find Elsewhere
- Per-User Greetings: Create custom welcome messages for specific viewers with Twitch shoutout integration - make your regulars feel special!
- Built-in Link Shortener: Create custom short URLs right from chat or dashboard - no need for bit.ly or other services
- Hastebin Integration: Quickly share code snippets or logs with auto-generated paste links
- Scheduled VIPs: Auto-remove VIPs after time or stream end
- Emote Analytics: Deep dive into usage patterns with graphs
- Chat Translation: Auto-translate messages to your language
- Giveaway System: Keyword-based entries with live tracking
- Games: 8ball, Duel, Russian Roulette, Seppuku, Voteban
- Audit Logs: Complete history of all bot actions
- Granular Permissions: 40+ permission types for custom roles
- Import Tools: Migrate from Nightbot/StreamElements easily
Why Open Source?
I believe streamers deserve tools that:
- Don't lock features behind paywalls
- Give full control and customization
- Can be self-hosted if desired
- Have transparent development
Getting Started
Visit: https://twir.app to create your free account and get started.
The dashboard is intuitive, and setup takes about 5 minutes. If you're migrating from another bot, the import tool makes it seamless.
Feedback Welcome!
I'm constantly improving Twir based on streamer feedback. If you try it out, I'd love to hear what you think - what works, what doesn't, what features you'd like to see. There is surely more to add, and I'm excited to build this community-driven project together.
Please report any bugs or issues on GitHub/Discord.
Thanks for reading! Feel free to AMA about the bot or any features.
Also, it is all AI-generated text, because I'm not a native speaker, be kind.
TL;DR: Free, open-source Twitch bot with built-in Shazam (!song command), physics-based chat characters, 11 emote animation styles, full OBS control from chat, 30+ event triggers with 60+ automated actions, built-in TTS, per-user greetings, link shortener, multi-layer custom overlays, deep integrations, and way more features than I can fit in a title.
Tech stack for the nerds: Golang backend, Vue 3 frontend, PostgreSQL, WebSocket subscriptions, monorepo architecture. GitHub: https://github.com/twirapp/twir
Attention about LLM's:
Nevertheless, I built the architecture before they appeared and before I started using them. The project has been around for four years. I stick to my principles and make LLM do the same. I use them myself to save time.
The backend code undergoes strict moderation to ensure it complies with my and the project's standards, but this is not done to the same extent on the frontend. So there may be some flaws on the frontend.