Skip to main content

jtalkbot

A Discord bot talking Japanese

Discord のテキストチャンネルに投稿されたメッセージを同名のボイスチャンネルで読み上げるボットプログラムです。

動作環境

以下のプログラム/ライブラリが正常に動作しているシステムが必要です。

それぞれの導入方法はお使いのシステムによって違いますので各自でお調べください。私は macOS で MacPorts を使っています。

導入

pip install jtalkbot します。

依存関係が設定されているのでプログラムの実行に必要なモジュールはあわせて自動的にインストールされます。

インストールが終わると、jtalkbot コマンドが使えるようになっています。

~/app % mkdir jtalkbot
~/app % cd jtalkbot
~/app/jtalkbot % python3 -m venv .venv
~/app/jtalkbot % source .venv/bin/activate
(.venv) ~/app/jtalkbot % pip install jtalkbot
...
(.venv) ~/app/jtalkbot % jtalkbot --version
jtalkbot X.Y.Z

使いかた

設定ファイルの準備

はじめに jtalkbot-config.json ファイルを編集します。ライブラリ内にサンプルファイルが jtalkbot-config-sample.json として入っていますので、これをコピー、リネームして使ってください。

NOTE: バージョン 0.5.0 で設定ファイルの項目名を変更しました。

jtalk-config.json ファイルの例

{
    "token": "__ENTER_YOUR_TOKEN_HERE__",
    "open_jtalk_x": "/usr/local/lib/open_jtalk/dic",
    "open_jtalk_m": "/usr/local/lib/open_jtalk/voice/mei/mei_normal.htsvoice",
    "voice_hello": "みなさんこんにちは。",
    "text_start": "読み上げを始めます。",
    "text_end": "読み上げを終わります。"
}

token

文字列型。Discord によって発行されたボットアカウントのトークンを記述します。

open_jtalk_x

文字列型。open_jtalk コマンドの -x オプションに渡す辞書ディレクトリの場所をフルパスで記述します。

open_jtalk_m

文字列型。open_jtalk コマンドの -m オプションに渡す HTS 音声ファイルの場所をフルパスで記述します。

voice_hello

文字列型。ボットが Discord の音声チャンネルに接続したとき最初に発声するあいさつを記述します。

text_start

文字列型。ボットがテキストチャンネルの投稿の読み上げを開始するときにそのテキストチャンネルに投稿するメッセージを記述します。

text_end

文字列型。ボットがテキストチャンネルの投稿の読み上げを停止するときにそのテキストチャンネルに投稿するメッセージを記述します。

ボットの実行

パッケージと一緒にインストールされる jtalkbot コマンドを実行します。このとき次の順で設定ファイルを探し、最初に見つかったものを読みこみます。

  1. ./jtalkbot-config.json
  2. ~/jtalkbot-config.json
  3. ~/.local/jtalkbot-config.json
  4. {パッケージのインストール先ディレクトリ}/jtalkbot-config.json
  5. 環境変数 JTALKBOT_CONFIG で指定されたファイル

起動するとログを表示しながら待機し続けます。

~/app/jtalkbot % jtalkbot
INFO:jtalkbot.__main__:config file: /Users/xxxx/jtalkbot-config.json
INFO:jtalkbot.__main__:Opus library is loaded.
INFO:jtalkbot.__main__:Logged in as MyBot#nnnn.

ボットを停止するときは Ctrl+C を押します。

ボットの動作

ボットアカウントが招待されている Discord サーバー(ギルドともいいます)において、そのサーバーのオーナーであるユーザー(ギルドマスター)がボイスチャンネルに接続したとき、同じボイスチャンネルに同時に接続します。接続中は、そのボイスチャンネルと 同名のテキストチャンネル に投稿されたメッセージをボイスチャンネルにて読み上げます。サーバーのオーナーがボイスチャンネルから切断すると読み上げ動作を停止し、同時にボイスチャンネルからも切断します。

現時点ではこれだけです。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jtalkbot-0.5.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jtalkbot-0.5.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file jtalkbot-0.5.0.tar.gz.

File metadata

  • Download URL: jtalkbot-0.5.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for jtalkbot-0.5.0.tar.gz
Algorithm Hash digest
SHA256 60da88678f75e5e7284d4577e476264b5c70c1e0e2adcec70cf42708a1f10028
MD5 291599cf6687570c0be52efc596ddf4e
BLAKE2b-256 3afa5b2187e9030b9424b0866a592b1f1615493dccc28cd36f5ba278154fca42

See more details on using hashes here.

File details

Details for the file jtalkbot-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: jtalkbot-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for jtalkbot-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79fcabf8b04dbcd8c07233c1fcb1e5a82ff138d44b1b73bc0c6536c854a59aff
MD5 381d6904125514546f37394f3581408a
BLAKE2b-256 0945fc2bab035109c56a491bdcc0fba2b21bd7da728d87a132fcc725aa45054b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.8.1

2 files

0.8.0

2 files

0.6.1.3

2 files

0.6.1.2

2 files

0.6.1.1

2 files

0.6.1

2 files

0.6.0

2 files

This release

0.5.0 This release

2 files

0.4.3

2 files

0.4.1

2 files

0.4.0.post2

2 files

0.4.0.post1

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page