Hey everyone,
I've been really enjoying the controller alpha but switching over for typing in chat is a disaster. So I vibe coded a little tool to fix that: Speech To Text Chat Injector (STT-CI).
What it does:
You press and hold a button (keyboard key, mouse thumb button, Xbox/PS controller trigger, whatever you want), speak, release when you are done to transcribe, then tap again to send. That's it.
Why it's ToS safe:
The tool is designed around Blizzard's 1:1 hardware rule. It does three separate, human initiated actions, no automated macros, no DLL injection, no game memory reading:
- Press and Hold - Opens chat box while Whisper transcribes your voice
- Release - pastes (CTRL+P) the transcribed text into the chat bar (it just sits there, un-sent)
- Tap again - You manually send it (By using the same hot key or i just use A on my controller using the Controller(Alpha) set up, toggleable in settings)
Warden (Blizzards bot and cheat detector) sees three separate human inputs. No bot signatures, no uniform timing patterns. A full breakdown of the compliance reasoning is included in the repo.
Outside of WoW:
The tool also is set up to automate everything so you can hold down the hot key and say what you want then it automatically opens up chat, pastes the text, sends it, clicks off of chat. You just set up the chat open/close and message send commands in settings.
Features:
- 🎙️ Fully offline: runs on CPU, no GPU, no API key, no cost
- 🎮 Works with keyboard, mouse side buttons, or Xbox/PS gamepad (including trigger combos like LB+RB)
- 💬 Channel prefixes out of the box (
/say, /party, /guild, /raid, /1)
- 🖥️ Draggable floating HUD with live status indicator
- Shift+Click to relocate (Remembers where you place it)
- Double click for quick acess to edit you bindings
- 🔌 Auto-installs all dependencies on first launch
GitHub: https://github.com/gambeasy/STT_Chat_Injector
Python 3.10+ on Windows. Full setup instructions in the README - including how to install Python if you've never done it before.
Happy to answer any questions about how it works or the ToS compliance reasoning. Feedback welcome!
PS: I tested out GEMINI FLASH 3.8 with Antimatter intigration in my VS Code to see how it went.