A fast VC TTS bot
  • Kotlin 99.3%
  • Dockerfile 0.7%
Find a file
2026-07-28 13:41:43 -04:00
.idea fix: do not queue zero-length files 2026-07-18 20:29:53 -04:00
gradle/wrapper gradle time 2026-06-29 15:56:04 -04:00
src/main fix: better transfer behaviour for moving channels 2026-07-28 13:41:43 -04:00
.gitignore feat: other important features 2026-04-09 16:50:48 -04:00
build.gradle.kts fix: do not queue zero-length files 2026-07-18 20:29:53 -04:00
Dockerfile im a bit dumb 2026-07-13 12:15:04 -04:00
gradle.properties feat(fix): emoji support, added missing edge cases, skip command, tone indicators, and better performance overall 2026-04-29 22:55:40 -04:00
gradlew feat: initial commit 2026-04-09 11:31:31 -04:00
gradlew.bat feat: initial commit 2026-04-09 11:31:31 -04:00
LICENSE feat: other important features 2026-04-09 16:50:48 -04:00
README.md fix: more db changes, postgres, and a fix to the readme instructions 2026-07-13 09:41:13 -04:00
settings.gradle.kts feat: initial commit 2026-04-09 11:31:31 -04:00

Speech and Spell

A custom-made TTS bot because the others felt too slow.

Features

  • Clear speech
  • Announces images and embeds
  • DecTalk syntax support
  • Open source (duh)
  • Pretty quick (my average time is like 200ms, with 600ms on first start, however speeds will vary vastly)
  • Customizable prefixes and nicknames
  • Message edit support
  • Admin skip and clear commands

Motivation

I personally don't like to use my mic when in voice channels in discord, usually resorting to no mic or the voice chat text channel. Some cool people have made TTS bots that announce out the messages from the channels so that people with "no mic" don't get ignored. However, the particular one I was using in a server was so slow that it was unbearable. So, with help from a friend (who already have a speech synthesis API set up) I made this bot out of spite of the other one.

Building

Note

Requires Java 25!

Run ./gradlew build and pray

Deploying

Create a .env file in the root of your working directory with the following contents:

BOT_TOKEN=<your token here>
API_URL=<your api>
DATABASE=h2
# optional if you are using postgres
POSTGRES_PORT=5432
POSTGRES_USER=<username>
POSTGRES_PASSWORD=<password>

Next, run the .jar resulting from the ./gradlew build

$ java -jar SpeechAndSpell-1.0.0-all.jar

Optionally: supply extra ram with JVM parameters (-Xms256m -Xmx2048m should be more than enough!)