Giter Club home page Giter Club logo

discord-tts-bot's Introduction

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.

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.
  3. DISCORD_CMD_PREFIX: This is the prefix used for calling the bot commands in Discord. It can be any character or sequence of your choice.

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.

discord-tts-bot's People

Contributors

dependabot[bot] avatar renovate-bot avatar renovate[bot] avatar tktcorporation avatar web-flow avatar zinntikumugai avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

zinntikumugai

discord-tts-bot's Issues

Heroku に music 用の docker image を push する

heroku login
apk add docker
heroku container:login
docker build -f "docker/Dockerfile.music" -t utako .
docker tag utako registry.heroku.com/utako-music/app
docker push registry.heroku.com/utako-music/app
heroku container:release app -a utako-music
heroku ps:scale app=1 -a utako-music

退出時に一時ファイル削除

再生毎に一時ファイルを生成しているので(1サーバーにつきmax5)、退出時にそれを消去する
使用サーバーが多くなると、ストレージが圧迫されるはず

helpの設置

コマンド一覧と使い方説明
可能であれば自動生成したい

テスト拡充

serenity とのやり取りを mockall 等でモックしてテストを書きたい

複数人の発言の対応

発声前に発言があると、最後の発言をN発言回繰り返している

ex

A > こんにちは
B > おはようございます
C > もうお昼ですよ

上記のような発言があり、BOTがAの発言を処理する前に入力されていたとすると

BOT > もうお昼ですよ
BOT > もうお昼ですよ
BOT > もうお昼ですよ

のように最後の発言を3発言分繰り返している

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.