Skip to content

tktcorporation/discord-tts-bot

Repository files navigation

discord-tts-bot: Your Voice Channel Assistant

Test codecov

Introduction

Welcome to discord-tts-bot! This innovative Discord bot uses text-to-speech (TTS) technology to bring your voice channels to life. Whether you're hosting a game night, a study group, or just hanging out, discord-tts-bot adds an extra layer of interaction to your Discord server.

Key Features

  • High Precision Text-to-Speech: Utilizes AWS Polly for high accuracy in reading both Kanji and English text, providing a natural voice experience across diverse language environments.
  • Text-to-Speech in Voice Channels: Simply type, and the bot speaks in your voice channel.
  • Easy to Set Up: A few steps and your bot is ready on your server.
  • Smart Voice Channel Interactions:
    • Welcomes users with "いらっしゃい" when they join
    • Says "いってらっしゃい" when users leave
    • Says "おやすみなさい" when users move to AFK channel
    • Says "おはようございます" when users return from AFK channel
    • All messages include the user's nickname or username for a personalized experience

Getting Started

Prerequisites

Before you begin, make sure you have:

  • Docker and docker-compose installed.
  • An AWS account.
  • A Discord bot token.

Quick Setup

To set up your discord-tts-bot, configure the following environment variables:

  1. DISCORD_TOKEN: Obtain this token from Discord to authenticate and run your bot. It's essential for bot operation on your server.
  2. AWS Credentials (for text-to-speech functionality using AWS Polly):
    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
    • AWS_REGION: Set these to integrate AWS Polly for high-quality text-to-speech conversion.

Running the Bot

  1. Invite the bot to your Discord server.
  2. Start the bot with docker-compose run app /bin/bash -c "make run".
  3. In Discord, type /join to have the bot join a voice channel.
  4. Start typing in discord chat and hear your messages read aloud!

Development and Contributions

  • Development: Use docker-compose run app /bin/bash for a development environment.
  • Testing: Run make test to execute tests.
  • Linting and Formatting: Keep your code clean with make watch.
  • Package Installation: Use make install to install development packages.

Deployment

  • Deploy on Heroku with easy steps detailed in the deployment section.
  • Follow the release and deployment guide for smooth updates.

Release & Deploy

  1. git switch master
  2. git pull
  3. git switch -c release/vx.x.x
  4. Bump up to vx.x.x in Cargo.toml
  5. git commit -m ':bookmark: vx.x.x'
  6. git push --set-upstream origin release/vx.x.x
  7. Create Pull Request
  8. Merge Pull Request

Additional License Information

Sound File Attribution

  • sounds/shabeko_dayo.wav: This specific sound file was generated using CoeFontStudio.

Try it Out!

Try out my sample bot and see discord-tts-bot in action!

License

This project is proudly licensed under the MIT License. Check out the LICENSE file for more details.