Should you allow it, TranscriberBot can transcribe all of your words with reasonable accuracy. It's useful for anything from allowing deaf friends to tune in to your conversations to writing down important conversations for future reference.
Unfortunately, the bot is no longer deployed, but feel free to run your own instance.
Hop into a channel and run the !join
command. The bot will join your channel and will be ready to transcribe
audio. Once you speak, it will ask for your permission to listen to your voice. If you accept, it will start
transcribing in the first channel it finds that it can send messages to. In order to change this, simply issue the
set-transcript-chan
command followed by the name of the voice channel you're in. This will set the channel you
sent the message in as the transcription channel for the voice channel.
You're ready to go! Type !help
to earn about other commands.
I can't go into details here, but you need to obtain the following secrets. There are tons of tutorials for discord bots and IBM covers using Speech-To-Text pretty well.
- A Discord bot token
- An IBM Speech-To-Text API key
- An IBM Speech-To-Text URL
- In the directory you're going to run the contianer app in, create a file called bot.env
- Make your file look like this: (replace placeholders with the value you obtained)
DISCORD_TOKEN=your_token
WATSON_SPEECH_API_KEY=your_api_key
WATSON_SPEECH_URL=your_url
- Create another file called db.env
- Make the file look like this (you can replace or leave these placeholders)
MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_PASSWORD=password
MYSQL_DATABASE=transcriberbot
MYSQL_USER=bot
- Copy paste (or download) the docker-compose file in this repo. Modify it to your own need (you can remove adminer, for example).
Run docker-compose up
Note: You may need to run with sudo/privileged if that doesn't work
You're good to go :)
I learned a lot of new stuff while making this bot. Here is everything I used:
- Node.js
- Typescript
- Discord.js
- Watson Speech API wrapper
- MySQL
- Docker
- Github Actions