This is an extension for discord.js library that makes creating discord speech recognition bots as easy as common text bots.
Discord.js v14:
npm i discord-speech-recognition
Checkout simpleBot example in examples directory for ready-to-use bot.
Discord.js v13:
npm i discord-speech-recognition@2
Discord.js v12:
npm i discord-speech-recognition@1
https://discordsr.netlify.app/
const { Client, GatewayIntentBits, Events } = require("discord.js");
const { joinVoiceChannel } = require("@discordjs/voice");
const { addSpeechEvent, SpeechEvents } = require("discord-speech-recognition");
const client = new Client({
intents: [
GatewayIntentBits.GuildVoiceStates,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.Guilds,
GatewayIntentBits.MessageContent,
],
});
addSpeechEvent(client);
client.on(Events.MessageCreate, (msg) => {
const voiceChannel = msg.member?.voice.channel;
if (voiceChannel) {
joinVoiceChannel({
channelId: voiceChannel.id,
guildId: voiceChannel.guild.id,
adapterCreator: voiceChannel.guild.voiceAdapterCreator,
selfDeaf: false,
});
}
});
client.on(SpeechEvents.speech, (msg) => {
// If bot didn't recognize speech, content will be empty
if (!msg.content) return;
msg.author.send(msg.content);
});
client.on(Events.ClientReady, () => {
console.log("Ready!");
});
client.login("token");
You need to enable message content for this example, so it can react to messages in chat.