https://github.com/tktcorporation/discord-tts-bot
A discord bot to use tts in your voice channel.
https://github.com/tktcorporation/discord-tts-bot
aws discord discord-bot discord-tts-bot docker polly rust text-to-speech tts
Last synced: 2 months ago
JSON representation
A discord bot to use tts in your voice channel.
- Host: GitHub
- URL: https://github.com/tktcorporation/discord-tts-bot
- Owner: tktcorporation
- License: mit
- Created: 2021-01-11T10:44:21.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-15T15:03:38.000Z (about 1 year ago)
- Last Synced: 2024-09-16T00:43:01.399Z (about 1 year ago)
- Topics: aws, discord, discord-bot, discord-tts-bot, docker, polly, rust, text-to-speech, tts
- Language: Rust
- Homepage:
- Size: 22.3 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# discord-tts-bot: Your Voice Channel Assistant
[](https://github.com/tktcorporation/discord-tts-bot/actions/workflows/test.yml)
[](https://codecov.io/gh/tktcorporation/discord-tts-bot)## 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`
1. `git pull`
1. `git switch -c release/vx.x.x`
1. Bump up to vx.x.x in Cargo.toml
1. `git commit -m ':bookmark: vx.x.x'`
1. `git push --set-upstream origin release/vx.x.x`
1. Create Pull Request
1. 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](https://discord.com/api/oauth2/authorize?client_id=798137406946934784&permissions=2184261184&scope=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.