Pythonサンプルコード集

SlackbotでファイルをSlackにアップロードする〜PythonでのBot開発〜

本記事はPython+SlackbotでファイルをSlackにアップロードする方法について紹介します。

Slackbotはコメントによる応答が可能ですが、コメントだけだと伝えづらく理解しにくい内容もあると思います。
また、コメントだけで伝えようとすると長い文章が必要となる場合も多いです。

SlackbotとPythonを活用すればファイルのアップロードができるので活用しましょう。

コメントだけでは伝えづらい内容についてもCSVファイルや画像としてアップロードすることで、柔軟な方で伝えることが可能です。
Slack上に長い説明を表示することも無くなります。

Pythonで作るSlackbotの基本については「SlackbotをPythonで作成しよう」をお読みください。

Python+SlackAPIでファイルをアップロードする方法

Slackにファイルをアップロードするためには、SlackAPIを操作する必要があります。

SlackAPIを操作する方法はいくつかありますが、今回は「slackerライブラリ」を使用する方法と「requestライブラリ」を使用する方法を紹介します。

slackerライブラリの方が簡単なのでslackerライブラリで実装するのがおすすめです。

SlackAPIの公式ドキュメント>>files.upload

slackerライブラリでAPIを操作する方法

slackerライブラリを使う手順について説明します。

◆準備
まずはpipコマンドでslackerライブラリをインストールしましょう。

ライブラリに「slackbot」を指定すると「slackbot」ライブラリでだけでなく「slacker」などSlackbot作成に必要なライブラリが全てインストールされます。

pip install slacbot

slackerのみをインストールしたい場合はSlackerを指定します。

pip install slacker

◆slackerでのアップロード方法
インスタンス生成にはAPIトークンを指定します。

slacker = Slacker(token)

最低限のオプションとして「channels」と「file_」を指定すればアップロード可能です。

slacker.files.upload(file_=file, channels=channel)

slackerの使用例は以下の通り。

関連記事>>Python+slackerでファイルをSlackにアップロードする

requestsライブラリでSlackAPIを操作する方法

Pythonでファイルをアップロードする基本的な方法です。slackerも内部的にはrequestsライブラリを使用しています。

標準ライブラリなのでpipインストールなしに使うことが可能です。

◆requestsの使い方
「token」、「channel」、「ファイル名」、「アップロード時のコメント」、「タイトル」の5つをオプションとして指定します。

slackerと比較すると指定方法が複雑です。
ファイルはパスを指定するのではなくopen()で開いたものを指定する必要があります。

requests.post(url=url, params=param, files=files)

Slackbotでファイルをアップロードする処理の実装方法

slackerを使用した場合の実装例について紹介します。
アップロード処理を@respond_to内に記述すればOKです。

◆実行結果
ファイルをアップロードする

以上、SlackbotでSlackにファイルをアップロードする方法でした。

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

◆おすすめ記事
SlackbotをPythonで作成しよう
Slackbotで今日の天気を確認する

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

  • この記事を書いた人
miyabikno

みやびの

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

-Pythonサンプルコード集
-

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