SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Elasticsearchと対話Botによる対話型の検索システム

使いたくなる検索システムのUIをSlackBotで実現する

Elasticsearchと対話Botによる対話型の検索システム 第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

SlackBotを作成するための前準備(2)

SlackのAPIトークンの取得について(2)

[2]APIトークンの取得

 今回は短い手順で実行できるように「Tokens for Testing and Development」を使用します。

 Slack Web APIのサイトにアクセスし、「Generate test tokens」をクリックします。

図12 APIトークン作成手順(1)
図12 APIトークン作成手順(1)

 ページ遷移すると下記の画面が表示されます。「Create token」を選択すると「none」の部分にAPIトークンが作成されます。

図13 APIトークン作成手順(2)
図13 APIトークン作成手順(2)

 このAPIトークンを用いて、Botが反応するチャネルとBotとして指定するユーザーを取得します。

[3]画像の設定

 Botに画像を設定したい場合はBot Usersを作成してそれに画像を設定します。あらかじめ設定されている画像で十分な方はここを読み飛ばしてください。

 まず、Bot Usersのサイトにアクセスしてください。「creating a new bot user.」をクリックしすると、下記のようなBotのユーザー名を設定する画面に遷移します。このユーザー名は他のユーザーと重ならないようにする必要があります。ユーザー名を決めたら「Add bot integration」をクリックしてください。Botとなるユーザーが作成されます。

図14 ユーザー名設定画面
図14 ユーザー名設定画面

 下記のBot設定画面に遷移するので、「Customize Icon」部分に今回使用したい画像を設定します。注意点としては、APIトークンがこの画面でも確認できますが、使用しないのでここでは無視してください。

図15 画像設定
図15 画像設定

[4]ユーザーの情報を取得する

 先ほど設定した画像の情報を取得したい場合は、まずユーザーの情報を取得する必要があります。

https://slack.com/api/users.list?token={先ほど取得したAPIトークン}

 JSON形式で各ユーザーの情報が下記のように取得できます。

:
{
 "id":"{ユーザーの環境に依存}",
 :
 "image_48":"{ユーザーの環境に依存}",
 :
},
:

 ここで、Botに使用したい画像のリンクをメモしておきます。「image_48」のリンクがそれに該当します。このリンクは後ほどBotの設定をする際に使用します。

[5]チャネルの作成

 チャネルの作成は簡単にできます。

 Slack上の「CHANNELS」の上図の赤で囲った部分をクリックします。

 すると、上図の画面に遷移します。設定が必要な項目は以下の通りです。

  • Public or Private:登録ユーザーすべてに公開するか公開しないか
  • Name:チャネルの名前
  • Purpose:チャネルの目的
  • Send invites to:どのユーザーをチャネルに誘うか

 これらを設定後「Create Channel」を押すと、チャネルが作成できます。

[6]チャネルの情報を取得する

 次に、チャネルの情報を取得します。この情報はチャットボットとやり取りするための専用チャネルを指定するために使用します。

https://slack.com/api/channels.list?token={先ほど取得したAPIトークン}

 以下のように、ユーザー情報と同じJSON形式で値を取得できます。Botに対応するチャネルを設定するため、Botに反応させたいチャネル名を"name"の部分で確認し、そのidをメモしておきます。

:
{
 "id":"{ユーザーの環境に依存}",
 "name":"{ユーザーの環境に依存}",
 :
},
:

次のページ
SlackBotを設定する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Elasticsearchと対話Botによる対話型の検索システム連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 大串 正矢(オオグシ マサヤ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9923 2017/01/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング