【Ruby】Slack Appことはじめ
こんにちは、しきゆらです。
今回は、最近話題のSlackのAppを作ってみます。
Slackは、最近色んな所で使われているチャットツールです。
こいつは、ただのチャットツールではなく、様々なAPIやサービスと連携できたり
アプリとして自分で拡張することができるなど、自由度がかなり高いツールとなっています。
いろんな事ができるようAPIも公開されています。
これを利用して自分用のAppを作ってみましょう。
アカウントの作成
もしない場合は、自分用のSlackワークスペースを作りましょう。
無料です。
https://slack.com/intl/ja/signin
SlackのURLを適当に決め、メールアドレス・パスワード等を設定します。
さて、Slackができたらアプリを作っていきましょう
アプリ作成
はじめに
まずは、このサイトにアクセス。
ページ右端に「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を作りたいと思います。
今回は、ここまで。
おわり
ディスカッション
コメント一覧
まだ、コメントがありません