KUMICO

COLUMN

組み込みエンジニアの戸惑い【番外編】お手軽SlackBotでローカルサーバのコマンド実行①

組み込みソフトウェアエンジニアがPythonを始めてみました。第8の戸惑い、今回は番外編としてお手軽SlackBotをPythonで実装し、社内ローカルサーバ上のコマンドが実行できるまでの流れをご紹介します。

突然の番外編には理由がありまして、当社もCOVID-19の感染予防策として在宅勤務が取り入れられました。そして、緊急事態宣言が解除された後も在宅勤務が推進され、新たなワークスタイルとして定常化されていく流れとなっています。在宅勤務では開発で使用しているサーバなどにアクセスするのが困難であったり、面倒になってくる場面が多く発生します。社内のセキュリティポリシーなども相まって、自宅からサーバまではリモートアクセスonリモートアクセスは当たり前、さらにそれを上回る接続も発生します。そんな時、普段コミュニケーションツールとして使用しているSlackを活用し、開発に役立つものはできないか?ということでSlackBotの作成が始まりました。そして、皆さまにも一部共有できたらと思い記事にしています。長くSlackを使われている方からすると他愛もない内容ですが、もしご存知ない場合は一度お試しいただけたらと思います。

Webサーバは不要!

今回はお手軽にと言うことで、色々と制限はあるのですがWebサーバを使用しない方法で実現します。必要なものは、あらかじめSlackが用意している「Bots」というSlack Appと、PythonのSlackBotライブラリ、RTM(Real Time Messaging) APIを使用したPythonコードだけです。そのため、何を実装するのかというアイデアが重要となってきます。

このSlackBotが出来ること

作成したSlackBotに対してダイレクトメッセージでのやり取りや、チャンネルにSlackBotを追加しアクセスします。会話の内容や、アップロードしたファイルなどをきっかけに、SlackBotへ実装した処理をさせ、結果を返すことができます。そのため、在宅環境からはアクセスしづらいPC上にやりたい処理をPythonで実装すれば、Slack経由でそのPCを制御することが可能です。Pythonで実装・実現出来ることなら何でも可能なので、夢が色々と広がってきませんか?在宅環境、Slack、SlackBotの位置付けは以下の図のような構成になっています。

É}éQ

準備①: SlackへBotsの追加

SlackワークスペースのAPPディレクトリに移動します。
https://xxxxxxxxx(ご自身のワークスペース名).slack.com/apps
↑リンク:https://my.slack.com/apps
検索Boxから“bots”で検索すると該当のアプリ「Bots」が出てくるので、選択します。
https://xxxxxxxxx(ご自身のワークスペース名).slack.com/services/new/bot
↑リンク:https://my.slack.com/services/new/bot

É}éR

Botsの説明ページが開くので、「Slackに追加」ボタンを押します。

É}éS

Botsの設定へと続きます。
まず、任意のユーザ名を入力し、「ボットインテグレーションを追加する」を押します。

É}éT

つづいて、以下の項目を埋めていきます。

  • APIトークン:SlackBotを実装する際に必要となるので、メモしておきます。

  • 名前をカスタマイズ:先ほど設定したものなのでそのまま変更しない。

  • アイコンをカスタマイズする:SlackBotの顔となり毎日見ることになるので、お気に入りの画像やアイコンを設定します。

  • 氏名:SlackBotの名前として使われるので、イカした名前を設定します。

  • このボットの機能:使う人のことを考えた説明などを設定します。

  • APIトークンの使用を制限する:SlackとSlackBotを動かすサーバ側PCの間のセキュリティ設定となります。PCのグローバルアドレスを設定する必要があります。

É}éU

É}éV

É}éW

そして、最後に「インテグレーションの保存」を押したら終了です。

準備②:SlackBotライブラリのインストール

PythonでSlackBotを扱うためのライブラリをインストールします。
使用するライブラリは、こちら↓
https://github.com/lins05/slackbot
インストールはpipコマンドで行います。

$ pip install slackbot

今回はここまで

お手軽SlackBotの作成について、今回は環境の準備までとなりました。もう少し先に話を進めたかったのですが、キリが悪かったのであしからず。
次回はSlackBotをPythonで実装して、動かすまでのあれこれをご紹介できたらと考えておりますので、引き続きどうぞよろしくお願いいたします。

個別相談も承っております。下記よりお申し込みください。

個別相談会申し込み

シリーズ記事

関連記事

OTHER COLUMN

MORE  

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

お探しの組み込み製品はキーワードで検索!