DockerHubからGithub Packagesに移行しました。今後DockerHub上のイメージは更新されません
OSSのテキスト読み上げDiscordBot TextToSpeakBotを音声データのダウンロードなどの設定いらずでコンテナの上で動くようにしたDockerimageです
最低限使えるようにすることが目標のため、公式のセットアップ方法に沿って音声データはmmdagentプロジェクトに内包されている.htsvoice
ファイルを使用するようにしています。そのためこのDockerimageでのボイスの種類はmei
、takumi
、slt
のみ使えます
docker run -it ghcr.io/masebb/ttsbot --name TTSBot --env token=<BOTTOKEN> --env owner=<USERID> --env prefix=<BOTCOMMANDPREFIX>
環境変数からconfigを生成します。基本的に環境変数名はconfig.txtの項目名と同じです。ですが、status
はbashでは終了コードが代入されてしまうので変更する場合は代わりにdiscordstatus
を使って変更してください(下に書いてあるdocker-compose.yamlを見るとよくわかります)
データーベース、ログ等の永続化をしたい場合はコンテナ内の/TTSBot
に入っていますのでそれをホストの適当な場所に-v
オプションでバインドしてください(注意 : config.txtが/TTSBot
に入っている場合は環境変数からのコンフィグ生成を行いません)
version: '3'
services:
TTSbot:
image: ghcr.io/masebb/ttsbot:latest
environment:
#必須
- token=<Botトークン>
- owner=<Bot管理者のユーザーID>
#オプション
# - prefix=<BOTのプレフィックス>(デフォルト: @<Bot名>)
# - altprefix=<BOTのサブプレフィックス>(デフォルト: なし)
# - game=<ゲームステータス名(〇〇をプレイ中)>(デフォルト: DEFAULT)
# - status=<BOTステータス (ONLINE,IDLE,DND,INVISIBLEのみ)>(デフォルト: ONLINE)
# - updatealeats=<真偽値(true or false)>(デフォルト: true)
# - alonetimeuntilstop=<数字(秒) >(デフォルト: 0(無効))
# - maxmessagecount=<数字(文字数) >(デフォルト: 0(disable))
### 基本的にはデフォルト値のままで良い(触る必要がない) ###
# - dictionary=<DICTIONARY PATH>(デフォルト: /var/lib/mecab/dic/open-jtalk/naist-jdic)
# - voiceDirectory=<VOICE DIRECTORY PATH>(デフォルト: /usr/share/hts-voice)
### 基本的にはデフォルト値のままで良い(触る必要がない) ###
restart: always
#ユーザデータの永続化をしたい場合コメントアウトしてください(./に散らかすので注意!)
# volumes:
# - type: bind
# source: ./
# target: /TTSBot