FUJILOG

見た、聴いた、触れたこと。 動かしたもの、書いたもの。 ウェブとリアルの備忘録です。

Botkit と Bluemix Watson Translate APIで自動翻訳Botを作成したけど社内で採用されなかった件

tl;dr

  1. グローバル事業を進めているなかで、英語圏メンバーが日本語チャットの内容を気にしている
  2. 社内ではSlackを使用しているので、日本語メッセージが投稿されたら、それを自動翻訳してくれるBotがあればいいんじゃないかと思い実装
    ※ 日本メンバーに /translate @bot en "ほげほげ" とか逐一入力させたくない
  3. いざ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

 

参照