Botkit と Bluemix Watson Translate APIで自動翻訳Botを作成したけど社内で採用されなかった件
tl;dr
- グローバル事業を進めているなかで、英語圏メンバーが日本語チャットの内容を気にしている
- 社内ではSlackを使用しているので、日本語メッセージが投稿されたら、それを自動翻訳してくれるBotがあればいいんじゃないかと思い実装
※ 日本メンバーに /translate @bot en "ほげほげ" とか逐一入力させたくない - いざSlack連携するも、Watson APIの邦訳精度と諸般の事情でBot導入見送り
手順
- Slackコンソールで、Slack botを作成
※ここではAPIのTokenを控えておく(xoxb-からはじまるもの) - BotKitでbotプログラムの雛形を用意
- Node.jsでbotプログラムを編集
※Slackのbotへのアクション問わず、チャンネルへの投稿に反応するようにした - Bluemixで「Node.jsアプリ」の作成とそこでの「環境変数(slackbot_token)」の設定、Watson Language Translator APIの連携設定
- Bluemixへbotプログラムをデプロイ
- Slackのチャンネルうち、自動翻訳させたいチャンネル上で翻訳botをInviteする
つまずきポイント
- cloud flareなるBluemixのCLIツールあり
※cf コマンドが使用可能になる - cf コマンド
$ cf api https://api.ng.bluemix.net
$ cf login
$ cf push --no-route -u process
※ワーカーとして稼働させる場合
cf push コマンド単体は、Webアプリでないから今回はこれはダメ - Bluemixデプロイ前に、ローカル上で単体で稼働させる場合
$ slack_token=xoxb-(your-slackbot-token) node ./bot.js