Pythonサンプルコード集

Slackに入力した内容をBotに記録させる2〜ログの取得範囲を限定する〜

前回の「Slackに入力した内容を自作Botに記録させる」にてSlackに入力した内容を説明しました。

今回は、前回のコードを修正してログの取得範囲を限定する方法について説明します。

ログの取得範囲を限定する

前回の内容だとBotのいるチャンネルでコメントした内容が全て記録されます。
全ての会話を記録してしまうとノイズも多くなってしまう為、管理がしにくくなります。取得するチャンネルやユーザーを制限することで、記録する内容を限定していきましょう。

ログを取るチャンネルを限定する

ログを取得するチャンネルを限定する方法について説明します。

「target_channels」というリストを用意しておき、メッセージを投稿したチャンネル名がリストに含まれていた場合は終了します。
チャンネルの情報は「message.channel」オブジェクトに設定されている為この値を使用します。

チャンネルを限定する記述は以下の通りです。

ログを取るユーザーを限定する

ログを取得するユーザーを限定する方法について説明します。

チャンネルの時と同様に「target_users」というリストを用意しておき、投稿者と一致するかどうかをチェックします。
ユーザー情報は「message.user」オブジェクトに格納されています。

◆名前と表示名
プロフィールにある名前(real_name)の他に表示名(display_name)でもチェックできるようにします。
表示名は任意の為、名前か表示名のどちらかにヒットすればOKとします。

以上をまとめたデータはコードは以下の通りです。

以上、ログを取得する範囲を限定する方法でした。

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

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

  • この記事を書いた人
miyabikno

miyabikno

住んでいるところ:神奈川県。 SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。フリーランス:2年。現在はブログをメインに活動しています。

-Pythonサンプルコード集
-

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