Files
discord.js/packages/voice/examples/radio-bot

Discord Radio Bot 🎧

A proof-of-concept radio bot that uses @discordjs/voice and discord.js. Streams audio from an audio output hardware device on your computer over a Discord voice channel.

Works on:

  • Linux (via PulseAudio pulse)
  • Windows (via DirectShow dshow)

Usage

# Clone the main @discordjs/voice repo, then install dependencies and build
$ npm install
$ npm run build

# Enter this example's directory, create a config file and start!
$ cd examples/radio-bot
$ npm install
$ nano config.json
$ npm start

# Join a voice channel in Discord, then send "-join"

Configuring on Windows via dshow

Run ffmpeg -list_devices true -f dshow -i dummy and observe output containing something similar:

DirectShow audio devices
 "Stereo Mix (Realtek(R) Audio)"
    Alternative name "@device_cm_{ID1}\wave_{ID2}"

For example, playing the above device will mirror audio from the speaker output of your machine. Your config.json should then be considered like so:

{
	"token": "discord_bot_token",
	"device": "Stereo Mix (Realtek(R) Audio)",
	"type": "dshow",
	"maxTransmissionGap": 5000
}

Configuring on Linux via pulse

Run pactl list short sources and observe output containing something similar:

5   alsa_output.pci.3.analog-stereo.monitor   module-alsa-card.c   s16le 2ch 44100Hz   IDLE

Then configure your config.json with the device you'd like to use:

{
	"token": "discord_bot_token",
	"device": "alsa_output.pci.3.analog-stereo.monitor",
	"type": "pulse",
	"maxTransmissionGap": 5000
}