LoginSignup
0
0

More than 3 years have passed since last update.

Discord の投稿を翻訳して返すBot

Last updated at Posted at 2020-08-07

概要

 Discord 上で発言を翻訳して返してくれるBotを書いてみたので共有します。サンプルコード的で平易なつくりです。似たような事をされたい方は、スニペットとしてご自由にご引用ください。

しくみ

 python で書いており、discord.py を利用しています。Dockerコンテナとしてデプロイできる構成にもしています。発言内容は Google の Cloud Translation API で翻訳されます。APIは google-cloud-translate を用いて利用されます。

 Cloud Translation API は GCP 内の一サービスであり、試用期間内であれば無料ですが、一定量または期間経過後の利用が有料になる点にご注意ください。本サンプルは、ある程度統制や管理が必要なケースにも応用・転用できるよう、はじめから有償契約環境を使う前提で書いてます。無償を前提にしたつくりにされたい場合は Google Translate Ajax APIgoogletrans を介して利用する手段もあります。

どうなるの

こうなります。構文はリポジトリの readme をご覧ください。
image.png

クイックスタート

readme.md に書いてしまっているので、書いてないDockerコンテナの起動の仕方を記述します。

$ git clone https://github.com/coleyon/disco-bilingual
$ cd disco-bilingual
### ここで、サービスアカウントJSON形式のキーファイルをコピーして `./sa-key.json` に配置し
### `docker-compose.yml` の `GOOGLE_APPLICATION_CREDENTIALS` や `DISCORD_BOT_TOKEN` をセットする。
$ docker-compose build
$ docker-compose up -d

小話

 Discord資金調達をして、ゲーマー向けからより広いユーザー向けに成長しようとしています。また、今更な話題ですがチャットのリモートワーク利用が増えてきました。こういった流れを受けて、DiscordはBotの安全性を高めるために、このような規約や仕組みの強化を通知しました。

 これからBotを開発される方、広く展開される方は、開発者向けの規約に目を通されるとよいと思います。

良かった情報源

DiscordのBotを書くときに、参考になる度が高かった記事を紹介します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0