Python と Slack API の学習がてら、サンプルプログラムを書いてみました。
解決したい課題
サーバ上の Pythonスクリプトを実行して、SlackのChannelに添付ファイルを投稿したい
実装例
# coding:utf-8
import requests
TOKEN = 'Bot用のAPI token を入れてください'
CHANNEL = 'Channel IDを入れてください'
files = {'file': open("送りたいファイルをフルパスで記載", 'rb')}
param = {
'token':TOKEN,
'channels':CHANNEL,
'filename':"filename",
'initial_comment': "initial_comment",
'title': "title"
}
requests.post(url="https://slack.com/api/files.upload",params=param, files=files)
実行例
$ python server2slack.py
その他
・pip
を使って requests
を導入しておきましょう
$ curl -kL https://bootstrap.pypa.io/get-pip.py | python
$ pip install requests
・Bot用のAPI token は App ディレクトリ から Bots
を作成して、Bots
の管理画面から取得してください
・Channelをブラウザで開いて、https://xxx.slack.com/messages/{ChannelID}
が Chennel ID です。
・Private Channelに投稿したい時は、BotをそのChannelに /invite
するのを忘れずに。