Настройка TTS-бота для Discord: Полный гайд (2026)

Полный гайд по настройке text to speech Discord бота в 2026. Покрывает Voicemod TTS, Streamcord, кастомные боты на Discord.js + ElevenLabs, роутинг голосовых каналов и hotkey.

Если вы хотите, чтобы Discord озвучивал текст вслух — будь вы стримером, роутящим чат Twitch в голосовой канал, пользователем, предпочитающим печатать, или разработчиком, создающим кастомный инструмент нарации — text to speech Discord бот — правильное решение. Этот гайд покрывает все практические варианты, доступные в 2026: хостед-боты, которые можно добавить в один клик, нативную TTS-команду Discord, и пошаговый воркфлоу для создания кастомного бота на Discord.js и API ElevenLabs.


TL;DR

  • Нативная команда /tts в Discord — клиентская: воспроизводит аудио через колонки слушателя, а не через голосовой канал.
  • Streamcord TTS — самый популярный хостед-вариант для стримеров, которым нужно читать чат Twitch в голосовых каналах Discord.
  • Voicemod TTS предоставляет необычные голоса и голоса персонажей через управляемого бота.
  • Кастомный бот Discord.js + ElevenLabs даёт лучшее качество голоса и полный контроль, со временем разработки менее часа.
  • Hotkey для вызова TTS-команд можно назначить через настройки горячих клавиш Discord или через внешние инструменты вроде AutoHotkey.
  • VoxBooster в паре с TTS-ботами отлично работает для гибридных воркфлоу, где нужна и синтетическая нарация чата, и лайв-модификация голоса.

Зачем нужны TTS-боты и что они реально делают

Встроенная команда /tts в Discord часто неправильно понимается. Когда вы набираете /tts привет, десктоп-клиент Discord читает этот текст вслух через ваши колонки, используя локальный TTS-движок операционной системы. Другие пользователи в канале не слышат это через голосовой канал — они услышат только если у них тоже включён собственный TTS и их клиент прочитает сообщение локально.

TTS-бот для Discord работает иначе. Бот — это серверный процесс с собственным подключением к голосовому каналу. Когда его вызывают, он синтезирует речь из текста и стримит полученное аудио в голосовой канал. Все, кто находится в этом голосовом канале, слышат это — так же, как слышали бы другого участника. Это различие — локальное для клиента против канального броадкаста — и есть главная причина существования ботов для этого сценария.

Типичные сценарии использования:

  • Стриминг-сетап: Вы стримите на Twitch и хотите, чтобы сообщения зрителей читались вслух в голосовом звонке Discord с ко-стримерами.
  • Доступность: Участник сервера не может или не хочет использовать микрофон; TTS-бот позволяет ему участвовать в голосовых обсуждениях через текст.
  • Объявления: Бот читает алерты модерации, назначения ролей или запланированные сообщения в канале без человека-оператора.
  • Кастомная нарация: Разработчики создают ботов, которые наратируют игровые события, счёт или алерты в реальном времени с помощью высококачественных AI-голосов.

Вариант 1: Нативная команда /tts в Discord

Прежде чем искать бота, проверьте, покрывает ли встроенная команда Discord ваши потребности.

Как включить: На вашем сервере перейдите в Настройки сервера → Обзор → Включить Text-To-Speech. В расширенных настройках канала установите Разрешить всем публиковать TTS-сообщения (или ограничьте определёнными ролями).

Как использовать: В любом текстовом канале с включённым TTS наберите /tts [ваше сообщение]. Discord читает сообщение вслух через колонки получателя, используя TTS-движок его ОС.

Ограничения:

  • Аудио идёт в локальные колонки, не в броадкаст голосового канала.
  • Качество голоса зависит от TTS-движка ОС слушателя (Microsoft David, Zira и т.д. на Windows).
  • Каждый слушатель должен индивидуально включить TTS в Настройки → Доступность → Разрешить воспроизведение и использование команды /tts.

Лучше всего подходит для: Быстрого использования в целях доступности, или ситуаций, где каждому пользователю просто нужно слышать текст локально — не для стриминга или групповых объявлений.


Вариант 2: TTS-бот Voicemod

Voicemod, известный прежде всего своим десктопным войс-ченджером, управляет Discord-ботом, который привносит библиотеку голосов в функционал text-to-speech.

Что предлагает:

  • Библиотека голосов персонажей и необычных голосов (роботизированный, мультяшный, глубокий и другие).
  • Простой интерфейс через slash command: /tts [голос] [сообщение].
  • Без загрузки кастомной голосовой модели — только пресеты Voicemod.
  • Доступен бесплатный тариф; премиум-голоса требуют подписки Voicemod.

Настройка:

  1. Зайдите на страницу Discord-бота Voicemod и нажмите Добавить на сервер.
  2. Авторизуйте бота с разрешениями Подключиться, Говорить и Читать сообщения.
  3. Зайдите в голосовой канал на вашем сервере.
  4. Используйте /tts с выбранным именем голоса и текстом сообщения.

Ограничения: Выбор голоса ограничен библиотекой Voicemod. Если нужен натурально звучащий человеческий голос или кастомная персона, это не подойдёт.


Вариант 3: Streamcord TTS для стримеров

Streamcord — главный TTS-бот для Discord среди стримеров, которым нужно читать сообщения чата Twitch вслух в голосовом канале Discord. Он нативно связывает Twitch и Discord.

Что предлагает:

  • Подключает ваш канал Twitch к голосовому каналу Discord.
  • Читает сообщения чата Twitch вслух с настраиваемым голосом, скоростью и высотой тона.
  • Поддерживает TTS только для сабскрайберов, Channel Points как тригеры TTS и фильтрацию сообщений.
  • Настройка через slash command и дашборд.

Настройка:

  1. Зайдите на streamcord.io и нажмите Добавить в Discord.
  2. Авторизуйте на вашем сервере с нужными разрешениями.
  3. Используйте /tts setup и следуйте инструкциям для привязки вашего канала Twitch и выбора целевого голосового канала Discord.
  4. Настройте голос на streamcord.io/dashboard.

Роутинг голосового канала: Streamcord заходит в голосовой канал, который вы указали при настройке. Целевой канал можно изменить через дашборд без повторного приглашения бота. Чтобы он следовал за вами между каналами, используйте команду /tts move.

Настройка hotkey для Streamcord: У Streamcord нет встроенной системы десктопных hotkey. Стримеры обычно привязывают Push-to-Talk в Discord для своего микрофона, а затем используют отдельный шорткат в OBS или StreamDeck для вызова команд чата. Для более тонкого контроля AutoHotkey-скрипты могут отправлять команды /tts через горячие клавиши, симулируя ввод в Discord.


Вариант 4: Кастомный бот на Discord.js + API ElevenLabs

Для максимального качества голоса и полного контроля над поведением, создайте собственного TTS-бота для Discord на Discord.js v14 и API ElevenLabs. Это даёт доступ к студийному качеству голосов ElevenLabs, клонированию голоса, мультиязычному синтезу и тонкой настройке параметров для каждого запроса.

Требования

  • Node.js 18+
  • Discord-приложение и токен бота (discord.com/developers)
  • API-ключ ElevenLabs (elevenlabs.io)
  • FFmpeg в PATH (необходим @discordjs/voice для кодирования аудио)

Шаг 1: Инициализация проекта

mkdir discord-tts-bot && cd discord-tts-bot
npm init -y
npm install discord.js @discordjs/voice @discordjs/opus elevenlabs libsodium-wrappers ffmpeg-static

Шаг 2: Регистрация slash command

Создайте deploy-commands.js:

const { REST, Routes, SlashCommandBuilder } = require('discord.js');

const commands = [
  new SlashCommandBuilder()
    .setName('tts')
    .setDescription('Озвучить текст в голосовом канале')
    .addStringOption(opt =>
      opt.setName('text').setDescription('Текст для озвучки').setRequired(true)
    )
].map(cmd => cmd.toJSON());

const rest = new REST({ version: '10' }).setToken(process.env.DISCORD_TOKEN);

(async () => {
  await rest.put(
    Routes.applicationGuildCommands(process.env.CLIENT_ID, process.env.GUILD_ID),
    { body: commands }
  );
  console.log('Команды зарегистрированы');
})();

Запустите node deploy-commands.js один раз для регистрации slash command /tts на вашем сервере.

Шаг 3: Создание бота

Создайте index.js:

const { Client, GatewayIntentBits } = require('discord.js');
const { joinVoiceChannel, createAudioPlayer, createAudioResource, AudioPlayerStatus } = require('@discordjs/voice');
const { ElevenLabsClient } = require('elevenlabs');
const { Readable } = require('stream');

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates] });
const eleven = new ElevenLabsClient({ apiKey: process.env.ELEVENLABS_API_KEY });

const VOICE_ID = 'your-elevenlabs-voice-id';

client.on('interactionCreate', async interaction => {
  if (!interaction.isChatInputCommand() || interaction.commandName !== 'tts') return;

  const text = interaction.options.getString('text');
  const voiceChannel = interaction.member?.voice?.channel;

  if (!voiceChannel) {
    return interaction.reply({ content: 'Сначала зайдите в голосовой канал.', ephemeral: true });
  }

  await interaction.deferReply({ ephemeral: true });

  const audioStream = await eleven.textToSpeech.convertAsStream(VOICE_ID, {
    text,
    model_id: 'eleven_multilingual_v2',
    voice_settings: { stability: 0.5, similarity_boost: 0.75 }
  });

  const connection = joinVoiceChannel({
    channelId: voiceChannel.id,
    guildId: interaction.guildId,
    adapterCreator: interaction.guild.voiceAdapterCreator,
  });

  const player = createAudioPlayer();
  const resource = createAudioResource(Readable.from(audioStream));

  player.play(resource);
  connection.subscribe(player);

  player.on(AudioPlayerStatus.Idle, () => connection.destroy());

  await interaction.editReply({ content: 'Озвучиваю.' });
});

client.login(process.env.DISCORD_TOKEN);

Выбор голосовой модели

ElevenLabs предлагает несколько моделей в 2026:

МодельЗадержкаКачествоЯзыки
eleven_turbo_v2_5~250мсХорошее32
eleven_multilingual_v2~400мсОтличное29
eleven_flash_v2_5~75мсХорошее32

Для использования в Discord в реальном времени eleven_flash_v2_5 минимизирует задержку между командой и речью. Для нарации с приоритетом качества лучше eleven_multilingual_v2.


Роутинг голосового канала: практические паттерны

Независимо от используемого бота, роутинг голосового канала следует одним базовым паттернам.

Паттерн “следовать за пользователем”: Бот заходит в голосовой канал, в котором находится вызывающий пользователь. Это дефолт для большинства ботов и реализация в примере Discord.js выше.

Паттерн фиксированного канала: Вы указываете конкретный ID канала в конфиге бота. Бот всегда говорит в этом канале вне зависимости от местоположения пользователя. Лучше всего для ботов объявлений или выделенных TTS-комнат.

Мульти-канальный паттерн: Более сложная настройка, где разные текстовые каналы маппятся на разные голосовые каналы. В Discord.js реализуется через объект маппинга каналов.

Динамический паттерн: Бот мониторит события voiceStateUpdate и перемещается следом за указанным пользователем между голосовыми каналами. Полезно для стримеров, часто переключающихся между комнатами во время сессии.


Настройка hotkey для TTS-команд

Большинство TTS-ботов запускаются slash command-ами, а не hotkey. Но можно создать эффективные воркфлоу с горячими клавишами несколькими способами.

Встроенные шорткаты Discord: Перейдите в Настройки Discord → Горячие клавиши. Здесь нельзя привязать произвольные текстовые команды — только действия Discord вроде Push-to-Talk, мьют и т.д.

AutoHotkey (Windows): Можно назначить hotkey для ввода команды /tts [готовое сообщение] и нажатия Enter в окне Discord:

^F1:: ; Ctrl+F1
  WinActivate, Discord
  Send, /tts Ваше готовое сообщение здесь{Enter}
return

StreamDeck: Если вы используете Elgato StreamDeck, действие “Text” может отправлять нажатия клавиш в любое активное окно. Настройте кнопку StreamDeck для фокуса поля ввода текста Discord и набора команды /tts.

Ключевые слова-тригеры бота: Для кастомных ботов можно реализовать префиксный тригер в текстовом канале вместо slash command — любое сообщение в указанном канале, начинающееся с настроенного префикса, автоматически отправляется в TTS.


Гибридные воркфлоу: TTS-боты + лайв-модификатор голоса

TTS-бот занимается синтезом речи из текста. Он не касается вашего микрофона. Это означает, что TTS-боты и лайв-модификаторы голоса вроде VoxBooster сосуществуют без конфликтов в одном голосовом канале.

Практический гибридный сетап для стримеров:

  1. Streamcord TTS читает сообщения вашего чата Twitch вслух в голосовом канале Discord, где находятся ко-стримеры.
  2. VoxBooster модифицирует ваш лайв-голос с микрофона в реальном времени — будь то шумоподавление, питч-эффект или клонированная голосовая персона.
  3. Ваши ко-стримеры слышат обе вещи: TTS-бот озвучивает сообщения зрителей, и ваш модифицированный лайв-голос.

Два аудиопотока независимы. TTS-бот генерирует аудио со своего подключения. Ваш микрофонный аудиосигнал проходит через виртуальное устройство VoxBooster перед отправкой в Discord. Discord микширует их так же, как микширует любых двух участников в канале.

Такой гибридный подход особенно эффективен для контент-мейкеров, которым нужна более богатая аудиосреда без необходимости устанавливать что-либо зрителям или ко-стримерам, помимо самого Discord.


Решение типичных проблем

Бот заходит, но нет звука: Проверьте, что FFmpeg находится в PATH и что @discordjs/opus установился корректно. Запустите ffmpeg -version в терминале для проверки.

Высокая задержка TTS-команды: Задержка API ElevenLabs зависит от выбранной модели и длины входного текста. Переключитесь на eleven_flash_v2_5 для меньшей задержки. Для сообщений длиннее ~200 символов рассмотрите разбивку текста перед отправкой.

Бот отключается во время воспроизведения: Обычно это таймаут голосового подключения. Добавьте обработчик connection.on('error') и переподключайтесь при ошибке.

Streamcord TTS не читает все сообщения: Streamcord по умолчанию фильтрует определённые типы сообщений. Проверьте дашборд Streamcord в разделе Фильтры, чтобы разрешить сообщения от несабскрайберов.

Команда /tts в Discord не работает: Убедитесь, что TTS включён в настройках вашего сервера и что конкретный канал разрешает TTS. Индивидуальным пользователям также нужно включить воспроизведение TTS в своих настройках Доступности Discord.


Итог

В 2026 настройка TTS-бота для Discord занимает от двух минут (Streamcord или Voicemod) до менее часа (кастомный Discord.js + ElevenLabs). Правильный выбор зависит от ваших требований к качеству голоса, нужного уровня кастомизации и того, создаёте ли вы для собственного сервера или для продакшн-стриминг-сетапа. Нативный /tts Discord покрывает базовое клиентское воспроизведение без бота. Хостед-боты вроде Streamcord закрывают сценарий стримера с минимальной настройкой. Кастомный бот на Discord.js с ElevenLabs даёт студийного качества AI-голоса с полным программным контролем над каждым аспектом речи.

Для наиболее универсального стриминг-аудиосетапа скомбинируйте TTS-бот для нарации чата с VoxBooster для лайв-модификации голоса — два инструмента, один голосовой канал, ноль конфликтов.

Попробуй VoxBooster — 3 дня бесплатно.

Клонирование голоса в реальном времени, саундборд и эффекты — везде, где ты говоришь.

  • Без карты
  • ~30 мс задержки
  • Discord · Teams · OBS
Попробовать 3 дня бесплатно