シェルスクリプトマガジン

第11回 大切なメールだけをチャットルームに送る

 ワークスペースを作ったので、Slack Appを作成します。今度は、Webブラウザから「https://api.slack.com/」にアクセスします。開いたページの中央にある「Start Building」ボタンをクリックします(図12)。

図12 「Start Building」ボタンをクリック

 「Create a Slack App」のダイアログが開いたら、「App Name」に任意のアプリケーション名(ここでは「Important Message」)を入力し、「Development Slack Workspace」のプルダウンメニューからチーム名(ここでは「シェルスクリプトマガジン」)を選んで「Create App」ボタンをクリックします(図13)。

図13 Slack Appの作成開始

 「Basic Information」ページに切り替わったら、下にスクロールして「Install your app to your workspace」をクリックします(図14)。

図14 「Install your app to your workspace」をクリック

 「permission scope」リンクをクリックします(図15)。

図15 「permission scope」リンクをクリック

 下にスクロールして「Scopes」の「Select Permission Scopes」でSlack Appが動作する範囲を選択します(図16)。メールの受信メッセージを転送するだけなので「chat:write:bot」を選んで「Save Changes」ボタンをクリックします。上部に「Success!」と表示されたら、範囲指定完了です。

図16  Slack Appが動作する範囲 の指定

 スクロールで上に戻って「Install App to Workspace」ボタンをクリックします(図17)。

図17 「 Install App to Workspace」ボタンをクリッ ク

 Slack Appからできることが表示されます(図18)。「許可する」ボタンをクリックします。

図18 作成したSlack Appでできること

 「OAuth Access Token」に認証アクセス用のトークンが表示されるので、「Copy」ボタンをクリックしてクリップボードにコピーしてテストファイルなどにペーストして保存しておきます(図19)。

図19 認証アクセス用のトークンを表示

実際にメッセージを送信できるかどうかを確認します。次のURLにアクセスすると、メッセージが送信されます。

 なお、日本語のチャンネル名やメッセージの場合、URLエンコードしなくてはいけません。そこで、URLエンコードするPythonプログラムで日本語名のチャネルに日本語のメッセージを送信してみます。チャンネル名はプロジェクト名と同じなので「シェルスクリプト連載」、日本語のメッセージは「こんにちは」にします。「トークン」は、自分で作成したSlack Appの認証アクセス用のトークンに変更してください。

 この三つのコマンドを実行すると、図20のように「こんにちは」のメッセージが表示されます。

図20 チャンネルにメッセージを送信