Pythonサンプルコード集

SlackbotのAPIトークンを取得する(動画あり)〜Hubotのインストール〜

本記事ではSlackのAPIトークンを取得する手順について説明します。

APIトークンの取得はSlackbotを動かすために必須です。
Slackbotのコードを書く前に必ず取得しておきましょう。

APIトークンは「Hubot」をSlackにインストールするだけで取得可能です。

非常に簡単な手順なので是非やってみてください。

本記事の内容は以下の通り。

・SlackbotのAPIトークン取得手順
・APIトークンを環境変数に定義してPythonで読み込む方法

SlackbotのAPIトークン取得手順

動画を作ってみました。

APIトークンの取得手順

具体的な手順は以下の通りです。
1.SlackのAppのページに移動します。
https://xxxxxxxxx.slack.com/apps
また、以下の手順でAPPページに移動することも可能です。

Appの+ボタンをクリックします。
+ボタンをクリック

Appディレクトリを表示をクリックします。
Appディレクトリを表示

2.「hubot」で検索します。
hubotで検索

3.「設定の追加」ボタンをクリックします。
設定を追加

4.名前を入力して「Hubotインテグレーションの追加」をクリックします。
名前を入力して「Hubotインテグレーションの追加」をクリック

「HUBOT_SLACK_TOKEN=」以降の内容がAPIトークンです。
セットアップの手順

取得したAPIトークンについて

APIトークンはネット上で公開されると無効化されます。

GitHubのPublicレポジトリにBotのコードを公開する場合には、「OSに環境変数として定義する」、「引数として受け取る」などコード上にAPIトークンを記載しないようにしましょう。

また、APIトークンは1つのBotにつき一つ必要です。

複数のワークスペースでBotを起動したい場合はそれぞれのワークスペースでAPIトークンを取得する必要があります。

>>Slackbotを複数のワークスペースで使う

Slackbotのアイコン画像を変更する

Slackbotのデフォルトのアイコン画像はオレンジ色のBotの顔ですが、アイコン画像は変更することが可能です。

手順は以下の通り。
1.Botの設定を開きます。

2.スクロールすると「アイコンをカスタマイズする」という項目が出てきます。

3.アイコンにはSlackの絵文字または画像をアップロードして設定することができます。
Botの画像変更

画像を変更したら「インテグレーションの保存」をクリックします。

以上で画像の変更は完了です。

関連記事>>SlackbotをPythonで作成しよう
関連記事>>SlackbotをJavaScriptで作成しよう

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

APIトークンを環境変数に定義してPythonで読み込む方法

APIトークンの値をソースコードに直接書き込んでしまうとBotの数だけ設定ファイルを用意する必要があるため不便です。

また、APIトークンは非公開情報であるため、githubにソースコードをアップしたい場合にも支障があります。
(APIトークンを公開するとそのAPIトークンは使えなくなります。)

一つのソースコードで複数のAPIトークンを扱えるようにする方法としては「環境変数にAPIトークンを定義しておき、Pythonで読み込む方法」がおすすめです。

本記事では「osライブラリで環境変数を読み込む方法」と「環境変数を引数として受け取る方法」の2パターンについて紹介します。

※環境変数の設定方法がわからない場合はググってください。

osライブラリで環境変数を読み込む方法

Pythonで環境変数を取得する場合は「os」ライブラリの「environ()」メソッドを使用します。
以下は「BOT_API_TOKEN」という環境変数を定義している場合の記述例です。

上記内容を「slackbot_settings.py」に実装します。

環境変数を引数として受け取る方法

別の方法としては環境変数に定義したAPIトークンを引数として受け取る方法があります。

◆引数なしの起動方法

python bot.py

◆引数ありの起動方法
ファイルの後にスペースで区切って文字を追加入力することで引数を指定することが可能。

環境変数を指定する場合は、UNIX系のOSやMacOSの場合は「$マーク」をつけます。

python bot.py $BOT_API_TOKEN

Windowsの場合は環境変数を"%"で囲みます。

python bot.py %BOT_API_TOKEN%

2個以上の引数を指定することが可能です。

python bot.py argument1 argument2

起動時に受け取った引数はsysライブラリの「argv」に格納されています。

引数を3つ指定して上記コードを実行すると以下の結果が得られます。

(venv) bash-3.2$ python test.py argument1 argument2 3
# 値
0 test3.py
1 argument1
2 argument2
3 3

上記の通りargv[0]にはファイル名が入り、それ以降に引数が入ってきます。

◆記述例
以上を踏まえて「slackbot_settings.py」を記述すると以下のようになります。

◆起動方法
トークンまたはトークンを定義した環境変数を指定します。

python bot.py $BOT_API_TOKEN

以上、APIトークンを環境変数から受け取る方法でした。

続けてSlackbotを作成する場合は「SlackbotをPythonで作成しよう」をお読みください。

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

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

  • この記事を書いた人
miyabikno

みやびの

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

-Pythonサンプルコード集
-

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