Pythonサンプルコード集

Slackbotとは?

SlackbotはSlack上で使える対話式のプログラムです。
Slack上では通常のユーザーと同じようにチャンネルに招待したり、メンションをすることができます。

Botに対してSlack上から指示を出すことで会話をしたりサーバー上のスクリプトを動かしたりすることも可能。
Slackbotは元々Slackに組み込まれているBotとHubot(自作のプログラムで制御できるBot)の2種類あります。

元々Slackに組み込まれているBot

Slackbot

全てのチャンネルに組み込まれているBotです。一般的に「Slackbot」と言った場合はこちらのBotを指すことが多いです。
このBotはユーザー一覧からは見えません。チャンネルから退出させることもできません。

ワークスペースから応答を修正できます。
https://xxxxxxx.slack.com/customize/slackbot

また、メッセージ中の「Slackbot」アイコンをクリックして「Slackbotの返答を作成/編集する」をクリックすることで上記ページにジャンプできます。
Slackbotの応答を編集する

左側に入れたメッセージを入力すると右側に入力した応答をSlackbotに返します。

Slackbotの応答を編集する2

「こんにちは」と入力すると「こんにちは」という応答が返ってきました。

Slackbotの応答

なお、「こんにちは」という言葉が入っているだけでSlackbotが反応してしまうのでこのままだと少々煩わしいです。
「@slackbot こんにちは」のようにメンションをつけたメッセージにしておくのがおすすめです。

通常のBotでは会話くらいしかできませんし、会話を特定のチャンネルに限定することもできません。あまり融通は利かないのでSlackbotでいろいろやりたい場合はやはりHubotを使う方が良いでしょう。

Hubot〜自作可能なSlackのBot〜

Hubotは自分で作ったプログラムで動かすことができるBotです。
当サイトではこちらのBotをメインに扱っています。

Slackbotを作成する方法

Slack上にBot用のユーザーを作成してプログラムよりアクセスします。

SlackのBotのプログラムはクラウドサービスのサーバーや自分のPCに置くことができ、そこからインターネット経由でSlackのBot用ユーザーにアクセスしてログインします。BotユーザーにアクセスするためにはAPIトークンと呼ばれる鍵が必要です。

Slackbotの仕組み

こちらのBotはユーザーと同じように特定のチャンネルに招待したり退出させたりすることが可能です。必要なチャンネルだけに招待すればよく、会話や処理を実行するチャンネルも制限できるため、融通は利きます。

一方、自分で作る必要があるため一定のプログラミングの知識は必要です。
とはいえ比較的初心者でも扱いやすいPythonやJavaScriptでも作れるため、導入のハードルはそこまで高くありません。

Pythonで作る方法は「SlackbotをPythonで作成しよう」で説明しています。
JavaScriptで作る方法は「SlackbotをJavaScript(Node.js)で作成しよう」をお読みだくさい。

Slackbotを導入するメリット

通常の場合、サーバー上のスクリプトを使用する場合はサーバーにログインしたり複雑なコマンドをターミナルに入力して実行する必要があります。

しかし、Slackbotを導入するとSlackbotに「@bot 〇〇スクリプトを実行」とSlackに入力するだけでよくなります。

サーバーへのログインや面倒なコマンドを打ち込むといった手間が省けるだけでなく、コンピュータに詳しくない人間であってもBotに日本語で指示を出すだけでサーバースクリプトを実行することが可能になります。

Slackbotでできることは?

通常のSlackbotとhubotでできる範囲は異なります。

通常のSlackbotではできることは会話とリマインドくらいなので、より高度な操作が行いたい場合はhubotを活用しましょう。

通常のSlackbotでできること

通常のSlackbotでできることは以下の2つです。
・特定の投稿に対して応答する
・remindコマンドによる応答

Slackbotの応答はワークスペースから修正できます。
https://xxxxxxx.slack.com/customize/slackbot

リマインドの設定については「Slackのremindコマンドの日時指定方法まとめ」をお読みください。

Hubotでできること

一方、Hubotは会話ができる他、コマンドの実行などサーバーコンピューターのあらゆる制御が可能となっています。

hubotでできることの一例は以下の通り。

・特定の投稿に対して応答する
・特定の投稿に対してリアクションをする
・ファイルの読み書き
・OSのコマンドの実行
・スクリプトの実行

Slackbotでできることについては「Slackbotの作り方マニュアル〜Python編〜」にまとめています。

まとめ

Slackbotには元々組み込まれているSlackbotと自作のプログラムで動かせるHubotがあります。

Hubot(自作のSlackbot)では会話ができるだけでなくコンピュータのあらゆる操作が可能です。
作業の効率化だけでなくコンピュータに詳しくない人間であっても簡単にスクリプトを動かせるようになります。

Slackを使用している場合は是非、導入してみてください。

以上、Slackbotについてでした。

SlackbotをPythonで作る方法は「SlackbotをPythonで作成しよう」で説明しています。
JavaScriptで作る場合はこちら>>SlackbotをJavaScript(Node.js)で作成しよう

Slackbot+PythonまとめTOP>>Slackbotの作り方マニュアル〜Python編〜

こちらの記事も読まれています

  • この記事を書いた人
miyabikno

みやびの

住んでいるところ:神奈川県。 プログラミング歴は13年ほど。 ※プログラミングに関する無料相談・質問への回答は行っていません。

-Pythonサンプルコード集
-

Copyright© みやびのどっとぴーわい , 2020 All Rights Reserved Powered by AFFINGER5.