本記事ではSlackbotをPythonで作成する方法について解説しています。動かしてみたいという場合はこちらからサンプルコードをダウンロードできます。◆Slackbotとは?Botはインターネット上の操作を自動実行するためのプログラムです。Slackbotの場合はSlackからBotに指示をすることでプログラムを自動実行できます。ユーザーと同じように会話ができる他、特定の言葉をSlackに入力することでスクリプトの実行を始めとした様々な処理を行うことが可能です。終わりに:PythonでSlackbotを作って活用しようSlackbot作成ライブラリの導入方法PythonでSlackbotを導入する方法はいくつかありますが、今回はPythonのライブラリを使う方法を紹介します。以下のライブラリです。https://github.com/lins05/slackbotライブラリのインストールライブラリをpipコマンドでインストールします。installed」が出れば完了です。◆参考記事bitlogPythonでSlackbotを作る(1)とりあえず動かしてみたい場合のサンプルコードとりあえず動かしてみたいという場合はこちらのサンプルコードをダウンロードしてください。KBDownload※動作させるためにはAPIトークンの取得とslackbotライブラリのインストールが必要です。>>SlackbotのAPIトークンを取得する(動画あり)Slackbot用のAPIトークンを取得するSlackよりBotに使うためのAPIトークンを取得します。◆APIの取得手順1.ワークスペースのAPPフォルダに移動します。https://xxxxxxxxx.slack.com/apps2.サイドメニューの「カテゴリ」から「Bot関連を選択」します。3.「Hubot」を選択します。4.「設定の追加」ボタンをクリックします。5.名前を入力して「Hubotインテグレーションの追加」を押します。トークン」に書かれている内容をコピーします。◆今回作成したBot:ターコイズくん画像はSlackの「ghost」を使用しています。関連記事SlackbotのAPIトークンを取得する(動画あり)Slackbotの作成方法と実行例PythonでBotを実行するためには「設定ファイル」、「実行ファイル」、「Botの応答を記述するファイル」が必要です。◆今回使用するファイル・slackbot_settings.py:Botの設定を書くためのファイル(名称変更不可)・bot.py:Botを起動するための実行ファイル(名前は任意)・botmodule.py:Botの応答を記述するためのモジュール(名前は任意)サンプルコードはこちら(リファクタリングや不具合の修正などで記事と内容が異なっている場合があります。KBDownload◆slackbot_settings.pyに記述する内容Botの設定についての記述です。「API_TOKENには上記の「Bot用のAPIトークンを取得する」で取得したAPIトークンの記述します。「DEFAULT_REPLY」はBotのデフォルト応答の指定です。定義していない言葉を聞いた場合は「DEFAULT_REPLY」の内容を応答します。「PLUGINS」には外部モジュールを指定します。「slackbot.plugins」は今回インストールしたライブラリに同梱されているモジュールです。「hello」などのいくつかの応答がこのモジュールに含まれています。自作のモジュールも指定可能です。今回は「botmodule.py」というモジュールを作成したのでこれも追加しています。外部ファイルを読み込む。外部ファイルを読み込む。['slackbot.plugins','botmodule',]◆bot.pyに記述する内容Botを起動する時の実行ファイルです。Botを起動するための処理を記述します。"__main__":main()◆botmodule.pyに記述する内容Botで応答するための記述を行うモジュールです。今回は「こんにちは」と「コニチハ」という二つの定義を行いました。Botの応答は「@respond_to」または「@listen_to」の後に関数を定義します。「@respond_to」はメンション(@でターゲット指定)した場合のみ応答を返します。「@listen_to」はメンションをしなくても応答を返します。「message.reply()」はSlackにメッセージを返すメソッドです。◆Botの起動Botの起動はターミナルから行います。bot.pyエラーがでなければ起動OKです。「listen_to」で定義した「コニチハ」はメンションなしで応答しました。「respond_to」で定義した「こんにちは」はメンションしないと応答しません。定義していない言葉にはデフォルトの応答を返してきます。終わりに:PythonでSlackbotを作って活用しようSlackbotは最も簡単に作れるチャットボットの一つです。Pythonなら非常に簡単に作れます。チャットボットは機能の拡張もしやすいので勉強したことを試すために使うのも良いですね。今回は挨拶を返すだけでしたが、Slackbotを活用すればスクリプトの実行やファイルの内容を読み込んで表示するなど様々な処理が可能です。本記事の手順を参考にして是非作成してみてください。Slackbotこちらの記事も読まれていますこの記事を書いている人miyabikno住んでいるところ:神奈川県。SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。@miyabiknoSIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。現在はブログをメインに活動しています。みやびのどっとぴーわい。