【Ruby】Slack Appことはじめ

2018年7月20日Ruby,Slack

こんにちは、しきゆらです。

今回は、最近話題のSlackのAppを作ってみます。

 

Slackは、最近色んな所で使われているチャットツールです。

こいつは、ただのチャットツールではなく、様々なAPIやサービスと連携できたり

アプリとして自分で拡張することができるなど、自由度がかなり高いツールとなっています。

 

いろんな事ができるようAPIも公開されています。

これを利用して自分用のAppを作ってみましょう。

 

 

アカウントの作成

もしない場合は、自分用のSlackワークスペースを作りましょう。

無料です。

https://slack.com/intl/ja/signin

 

SlackのURLを適当に決め、メールアドレス・パスワード等を設定します。

 

さて、Slackができたらアプリを作っていきましょう

 

アプリ作成

はじめに

まずは、このサイトにアクセス。

https://api.slack.com

 

ページ右端に「Your Apps」というボタンがあると思います。

なければ、「Go to Slack」というボタンを押し、Slackにログインしてから。

するとこのような画面が表示されるかと思います。

「Create New App」をクリック。

 

表示されたモーダルに適宜情報を当てはめて「Create App」をクリック。

それぞれの項目は以下の通り。

  • App Name:作るアプリの名前
  • Development Slack Workspace:インストールするワークスペースを選択

 

ひとまず、アプリの体は作ることができました。

次からはアプリの中身を作っていきます。

 

中身を作る

作成できたら、このような画面になるはずです。

まずは、単純なSlash Commandsから作ってみましょう。

Slash CommandsはSlack内で利用できるコマンドのことです。

/remindなど便利なものがいくつかありますが、自分のためのコマンドを作ってみます。

 

新しいコマンドを追加するときは、「Slack Commands」をクリックして画面に従えばOK。

それぞれの項目は以下の通り。

  • Command:コマンド
  • Request URL:コマンドを執行したときにリクエストを投げる先
  • Short Description:簡単なプログラムの説明
  • Usage Hint:利用方法

 

Slach Commandsはサーバを立てて、リクエストを受信しレスポンスを返す必要があります。

サーバ側の処理は後で記述します。

 

SlackにAppをインストール

さて、適当にコマンドを作りました。

しかし、現状ではAppを作っただけでSlack自体にインストールしてあるわけではありません。

そこで、Slackへインストールしましょう。

 

上記のようなページの「Settings」=>「Basic Information」をクリック。

「Install your app to your workspace」=>「Install App to Workspace」をクリック。

すると、実際にインストールしてもいいかを確認してきます。

「許可する」をクリック。

 

これにてインストールが完了です。

では、サーバサイドを作っていきます。

 

サーバサイトのスクリプト作成

今回はRubyで書いていきます。

 

公式サイトでは、サーバサイドのアクセス方法、レスポンス方法を紹介してくれています。

https://api.slack.com/slash-commands#

 

といっても、簡単なCGI程度で十分です。

以下のようなコードでOK。

 #!/usr/local/Ruby/bin/ruby
 require 'cgi'
 require 'json'
 
 print "Content-Type: application/json\n\n"
 
 cgi = CGI.new
 
 hash = {
   text: "hello slack from server. \n"
 }
 
 puts JSON.generate(hash)

最低限textを返すと良いようです。

これをサーバへ置き(指定したURLに合ったパス)、実行権限をつけてあげましょう。

 

Appの確認

さて、Slackから先程定義したコマンドを実行してみましょう。

今回は「/hoge」という意味のないコマンドを作ったので、Slackで書いて実行してみます。

こんな感じに表示されれば完了です。

 

まとめ

簡単にですが、Slackでアプリを作る方法をさらってみました。

次は、Botを作りたいと思います。

 

今回は、ここまで。

おわり

Posted by しきゆら