本記事ではPython+slackerライブラリでファイルをSlackにアップロードする方法について紹介します。
具体的には以下の通り。
・Python+slackerでファイルをアップロードする方法
・Python+slackerでのファイルアップロード実装例と実行例
目次
Python+slackerでファイルをアップロードする方法
SlackにファイルをアップロードするためにはAPIトークンの取得が必要ですのでまずはAPIトークンを取得します。
SlackAPIトークンの取得手順
手順は以下の通りです。
1.Slackのappページに移動
2.Hubotで検索
3.Hubotをインストールする
4.Hubotの詳細を開いてAPIトークンの欄を確認する
手順の4で確認したAPIトークンを実装の時に使用します。
詳細の方法については「SlackbotのAPIトークンを取得する(動画あり)〜Hubotのインストール〜」をお読みください。
slacker.files.upload()の使い方
slackerライブラリでファイルをアップロードする場合、「slacker.files.upload()」メソッドを使用します。
「slacker.files.upload()」メソッドの引数は以下の通りです。
content:ファイルの内容(引数「file_」を指定する場合は不要)
file_:投稿するファイル(引数「contentを指定する場合は不要)
channels:投稿するチャンネル名
title:投稿した時のタイトル(省略可)
initial_comment:投稿した時のメッセージ(省略可)
filename:ファイル名(引数「file_」を指定する場合は省略可)
thread_ts:既に存在するメッセージのタイムスタンプを指定する。そのメッセージに応答する形で投稿する
◆準備
まずはslackerライブラリをインストールします。
◆slackerでのアップロード方法
インスタンス生成にはAPIトークンを指定します。
最低限のオプションとして「channels」と「file_」を指定すればアップロード可能です。
SlackのAPIのfiles.uploadについてはSlackAPI公式ドキュメントもお読みだくさい。
Python+slackerでのファイルアップロード実装例と実行例
Python+slackerでファイルをアップロードする場合の実装例と実行例について紹介します。最低限のオプションとしてチャンネルとファイルを指定すればアップロード可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from slacker import Slacker def main(): # APIトークンを指定 token = 'xxxxapi_token' # アップロードするチャンネルを指定 channel = 'channel' # 絶対パスを指定 file = '/home/user/xxx/weather.jpg' slacker = Slacker(token) slacker.files.upload(file_=file, channels=channel) if __name__ == "__main__": main() |
以上、slackerでファイルをアップロードする方法でした。