Discord Speech-to-Text: Transcribing Voice Messages with a Bot
Discord speech-to-text works for voice messages: a bot receives the audio, transcribes it, and posts the text. The pipeline, the permissions it needs, and why live voice-channel transcription is still the hard limit in 2026.
The answer first
Discord speech-to-text works today for voice messages, the short audio clips members record in the Discord mobile app. A bot with the right permissions receives each voice message as an audio file, runs speech recognition on it, and posts the transcript back into the channel as a text reply, optionally translated. The part that does not work is live transcription of a voice channel: Discord gives bots no transcription API and no dependable access to a live voice feed, so no bot today reliably turns a group voice call into scrolling text. Here is how the working half of that promise is built, what permissions it takes, and where the line sits in 2026.
What “Discord speech-to-text” covers (and what it does not)
Three things get called “Discord speech-to-text”, and they are not equally real.
Voice messages to text. Real and dependable. A voice message in Discord is a message flagged IS_VOICE_MESSAGE: a single audio attachment, no text content, cannot be edited, recorded in the mobile app and posted to a chat like any other message (Discord’s message resource documents all of this). Because the audio arrives with the message, a bot can transcribe it without ever touching a voice channel.
Dictation into a chat box. This is not Discord at all: browser extensions and mobile keyboards transcribe your speech and type it into the message field. It works, but nothing on a server reads it until you press Send, and a bot is not involved.
Live voice-channel transcription. The part that is mostly not real for bots, covered in detail below.
Most “discord speech to text” searches boil down to the first one: can a bot turn recorded voice into written messages? Yes, through the pipeline below.
How a bot turns a voice message into text, step by step
The pipeline has five stages, and each one is a thing you can point at in Discord’s documentation.
- A member records a voice message in the Discord mobile app and posts it to a channel.
- Discord stores it as a message with the audio attached as a single file. Discord’s message resource specifies the encoding as a one-channel, 48,000 Hz, 32 kbps Opus stream in an OGG container.
- Discord delivers a
MESSAGE_CREATEevent to the bot over its gateway connection. TheGUILD_MESSAGESgateway intent controls whether those events are sent at all; theMESSAGE_CONTENTprivileged intent controls whether the content and attachments arrive filled in. Without it, Discord returns those fields empty and the bot receives a voice message it cannot hear. - The bot downloads the audio attachment and hands it to a speech recognition engine, the same machinery as Whisper-style speech-to-text models. To the recognizer a voice message is just an audio file: a waveform to convert back into words.

- The bot posts the transcript into the channel as a reply or embed, after passing the text through a translation step if the server wants one. The full voice workflow is the same pipeline with text-to-speech bolted on at the end, which is exactly what our Discord voice translator bot guide walks through in setup detail.
What permissions a speech-to-text bot needs
Permissions come at two levels, and both must be right or the pipeline silently produces nothing.
App level, set in Discord’s developer portal:
– GUILD_MESSAGES gateway intent, so Discord sends the bot MESSAGE_CREATE events in the first place.
– MESSAGE_CONTENT, the privileged intent that unlocks message content and attachments. Without it, Discord returns empty content, embeds and attachments fields, and a transcription bot has nothing to work from. This is the most common reason speech-to-text setups fail.
Channel level, the server permission check when you add the bot:
| Permission | What the bot needs it for |
|---|---|
| View Channel | to read messages in the channel |
| Read Message History | to fetch messages and attached audio, including anything posted before the bot was installed |
| Send Messages | to post the transcript as a reply |
| Connect + Speak | only for bots that also join a voice channel, for TTS playback or live audio work |
One dated note on MESSAGE_CONTENT: it is a privileged intent, and Discord reviews it. Apps in fewer than 10,000 unique users can toggle privileged intents on in the developer portal; above that threshold the app must apply, justify why it genuinely needs message content, and reapply every year. Discord changed the threshold and added the annual review on June 10, 2026. A transcription bot has a genuine justification, which is exactly what the review exists to confirm.
The hard limit: live transcription of a voice channel
Now the honest limit: a bot transcribing a voice channel live, rather than transcribing recorded clips, is the gap.
Live voice traffic does not travel through the message API. Discord’s voice connection guide describes a separate protocol: a UDP-based voice gateway, a WebSocket handshake, encryption modes, and voice-specific opcodes, built for voice clients rather than as a transcription service. There is no endpoint a bot can subscribe to for “what was just said”, no speaker labels, and no service that turns a live call into text. To transcribe a live channel a bot would have to maintain its own voice connection, capture every participant’s audio, tell the speakers apart, and run speech recognition on the mix within the few seconds of latency that make it live rather than a lecture. Recognizers also mishear overlapping voices, accents, and background noise, with no written record to correct them against. That stack is why dependable continuous live-channel transcription by a bot does not exist in 2026.
The rare demos that do exist are worth seeing, because they show the shape of the thing. Seasalt AI’s walkthrough of its SeaVoice bot, which joins a voice channel, streams live speech-to-text into a text channel, and reads typed messages back as speech, is the closest working example on the market:
That is a specialist product running on Discord’s voice-connection protocol. The reverse technology, reading text aloud in a voice chat, works through the same connection and is the subject of our Discord text-to-speech in voice chat guide.
Use cases that actually make sense in 2026
Given what works, here is where a transcription bot earns its place on a server.
- Meeting and session notes. A member records a voice summary, or a club holds a voice-note discussion, and the transcripts land in the channel for anyone to skim or drop into the minutes.
- Accessibility. Members who read better than they hear (deaf and hard of hearing members, people in loud environments, or speakers who read a community language more fluently than they understand it spoken) can follow a voice message without replaying audio. A transcript turns “someone said something” into actually knowing what was said.
- Searchable archives. A rules or announcement channel full of voice notes becomes a written, searchable record when every clip is transcribed.
- Moderation and triage. Moderators can scan transcripts for the pieces they need instead of listening to every recording.
If the goal includes translation as well, the same pipeline feeds the text into a translation step, and how automatic translation bots work on Discord explains how the language detection and translation stages behave.
Setting it up on a server
Interaction Bot advertises speech-to-text directly: its homepage lists speech-to-text next to automatic translation, text-to-speech, and question answering, and its documentation describes a transcribe voice command alongside tts. Setup is the standard Discord bot flow: open the bot’s invite link, pick your server, approve Discord’s authorization screen, then check the channel permissions above and tell the bot which channels to watch. The menu-by-menu version of that sequence is in our voice translator bot guide.
The short answer
Yes, a Discord bot can transcribe voice messages into text: voice message to audio file, speech recognition, optional translation, then a posted reply. It needs the MESSAGE_CONTENT privileged intent plus ordinary channel read and write permissions. And no, a bot cannot reliably transcribe a live voice channel in 2026, because Discord’s API has no transcription feed for voice, and continuous multi-speaker recognition on a live stream is an unsolved stack. Use voice-message transcription for what it is good at, and treat “live channel transcription” claims as demos until one proves otherwise on your own server.
Published by interaction-bot.com.
Visit interaction-bot.comMade with AI.