人工知能APIを用いて、Slack Botを作って遊んでみた

はじめまして、16新卒システムエンジニアの高木です。
所属している部署は解析ユニットです。よろしくお願いします。

今回はユーザーローカル社が提供している人工知能APIを用いて、Slack Botを作って遊んでみました。
使用言語はみんな大好き「Ruby」です。
圧倒的に素早い実装をするために簡単に作れるgemを利用しました。

使用したgem

github.com

github.com

ソースコード

# app.rb
require 'slappy'
require 'user_local_chat_api'

Slappy.configure do |config|
  config.token            = 'xoxp-XXXXXXXXXXXXXXXXXXXXXX' # Slack APIのTOKEN
  config.robot.username   = '人工無能BOT' # BOTの名前
  config.robot.icon_emoji = ':robot_face:' # BOTのアイコン
end

client = UserLocalChatApi::Client.new('XXXXXXXXXXXXXX') # 人工知能APIのTOKEN

Slappy.hear '(.*)' do |event|
  next if event.bot_message?
  res = client.chat(event.text)
  if res['status'] == 'success'
    Slappy.say res['result'], channel: event.channel
  end
end

Slappy.start

最低限のものしか書いていないので、たった20行で作れてしまいました。簡単ですね!
本当は特定のチャンネルのみにしか反応しないようにする等条件を加えた方が良いと思います。

ちなみにAPIのTOKENは
Slack APIはこちら
人工知能APIはこちら
より取得できます。

実際に遊んでみる

ruby app.rbで実行できます。
何も表示されませんが、実行されているはずです。

f:id:AdwaysEngineerBlog:20170127114341p:plain

f:id:AdwaysEngineerBlog:20170127114352p:plain

f:id:AdwaysEngineerBlog:20170127114357p:plain

感想

いろいろな言葉を覚えさせて成長していくと思っていたら、そういうわけではないみたいです。
人工知能の精度はそんなに高くないですが、APIで人工知能を簡単に扱えるのは嬉しいですね。
良かったら皆さんも試してみてください。
以上です。ありがとうございました。