Python+Slackbotの作り方マニュアル兼記事リンク集です。
「Slackbotを作りたいけど何から始めたらいいかわからない」
という方向けに記事をまとめています。
「1-1」、「1-2」 をやればSlackbotが動くようになります。
以下のページはPython3.xがインストールされていることが前提です。
まだの方はこちらの記事を参考にインストールしてください。
>>Python超入門〜Windowsでプログラミングを始めよう〜
>>Python超入門〜MacOSでプログラミングを始めよう〜
目次
1.PythonでSlackbotを始めよう〜基本的な作り方を解説〜
Slackbotの基本的な作り方を説明します。
まずはここから。
1-1.APIトークンの取得(準備)
Slackbotを動かすためにはSlackのAPIトークンを取得する必要があります。
手順は簡単でSlackのAppディレクトリに移動して「Hubot」をインストールすればOKです。
具体的な手順は「SlackbotのAPIトークンを取得する(動画あり)」
1-2.Slackbotを作成する
SlackbotをPythonで実装する手順は以下の通り。
・slackbotライブラリをpipでインストール
・ファイルを作成して記述
動かすために最低限必要なファイルは「slackbot_settings.py」と「bot.py(ファイル名は任意のものをつけることができます)」の2つです。
「slackbot_settings.py」にはパラメータを、「bot.py」にはSlackbotの動作コードを記述します。
「slackbot_settings.py」の記述例は以下の通り。
1 2 3 4 5 6 7 8 9 10 | # 「API_TOKEN」にはSlackから取得したAPIトークンを記述してください API_TOKEN = "XXXXXXXXXXXXXXXXXXX" # 知らない言葉を聞いた時のデフォルトの応答 DEFAULT_REPLY = "その言葉の意味は知りません" # 外部ファイルを読み込む。 PLUGINS = [ 'slackbot.plugins', ] |
bot.pyに記述する内容は以下の通り。
1 2 3 4 5 6 7 8 | from slackbot.bot import Bot # Botを起動する def main(): bot = Bot() bot.run() if __name__ == "__main__": main() |
具体的な手順は「SlackbotをPythonで作成しよう」をお読みください。
◆動画版
open-jtalkで説明するSlackbotの作り方
◆Qiita
Pythonista3でSlackbotを動作させる方法
1-3.APIトークンを環境変数に指定する
APIトークンはネットワーク上に公開すると無効となります。
よってソースコードに直接トークンを書き込んでしまうとGitHubなどクラウドサーバーで管理したい場合に不便です。
また、サーバー単位でファイルを書き換えるのは面倒ですよね。
環境変数に指定できるとネットワークに公開したい場合や複数のサーバーでSlackbotを動かしたい場合にサーバーごとに環境変数を設定するだけでよくなります。
2.Slackbotをサーバー上で動作させる方法
サーバー上でSlackbotを動作する手順について紹介します。
Slackbotは個人のパソコンでも動作できますが、シャットダウンしてしまうと使えなくなります。
個人で使う場合には大きな問題にはなりませんが、チームでSlackbotを使いたい場合は個人のパソコンにインストールしてしまうと不便です。
チームで使う場合はサーバーでSlackbotを動作させましょう。
2-1.Slackbotをレンタルサーバーで動かす方法
Slackbotをサーバーに置く手順です。
レンタルサーバーの手順として書いていますが、会社で使っている開発サーバーなどにも応用できる記事です。
Qiita:SlackbotでGit管理のソースコードを更新する〜PythonでのBot開発〜
3.Slackbotの応答について
Botの応答方法についてまとめている記事群です。
- Slackbotの応答パターンを制御する〜PythonでのBot開発〜
- Slackbotにリアクションをさせる〜PythonでのBot開発〜
- SlackbotからSlackbotへの反応を回避する〜PythonでのBot開発〜
- SlackbotのHubot名をPythonで取得する
4.任意のタイミングでSlackbotを動かす方法
任意のタイミングでSlackbotを操作する方法をまとめた記事群です。
- Botが起動した時に挨拶をさせる〜PythonでのSlackbot開発〜
- Slackbotで指定した時間に投稿する〜PythonによるBot開発〜
- Googleカレンダーの予定からSlackbotにイベントを起こさせる
5.Slackbotでファイルを操作する方法
ファイルの各種操作についてまとめている記事群です。
- Slackbotでファイルの読み書きをしよう
- Slackに入力した内容をBotに記録させる
- Slackbotに音声付きで応答させる〜PythonでのBot開発〜
- SlackbotでSlackからファイルをダウンロードする〜PythonでのBot開発〜
- SlackbotでファイルをSlackにアップロードする〜PythonでのBot開発〜
6.Slackbotの使い方(応用編)
Slackbotを利用したその他の使用例です。
Slackbotで天気を確認する
天気を確認する方法についてまとめています。
Slackbotで今日の天気を確認する〜PythonでのBot開発〜
Slackbotでカレンダー表示をする
Pythonには元々calendarライブラリが入っているので簡単に実装できます。
Slackbotでカレンダーを表示する〜PythonでのBot開発〜
Slackbotをパスワード生成ツール化
Slackbotをパスワード生成ツール化する方法についてまとめています。
Slackbotでパスワードを生成する〜PythonによるBot開発〜
Slackbotと他のツールのAPIを連携する
API連携の方法についてまとめています。
- SlackbotでTodoistの予定を確認する〜PythonでのBot開発〜
- SlackbotでTodoistのタスクを完了済みにする〜PythonでのBot開発〜
- Qiita:SlackbotでGoogle Analyticsのデータを取得する〜PythonでのBot開発〜
定期的に整理や更新をしています。