Pythonを使ってSlackに投稿してみます。
Slackとは?
チームで使えるTwitterみたいな。 ナウなヤング風にいえばLINEみたいな。
それらより多機能なのと、今のところ日本語版が無いのが大きな違い。
さらっと使ってみてますがやっぱり便利です。
ローカライズされたらドカッと広まりそうな気配です。
Slackerインストール
Python用ライブラリをインストールします。
1 |
sudo pip install slacker |
APIの準備
APIを使用するためにTokenを生成する必要があります。
あらかじめSlackのチームとアカウントを準備した状態で↓のサイトへ。
Tokens for Testing and Development
Generateあたりをクリックすると生成されるはずです。
この文字列をコピペしておきます。
ソース
写真を投稿するのを想定して、パラメタで渡されたファイルをSlackerに投稿するサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# -*- coding: utf-8 -*- import sys from slacker import Slacker # API token token = 'xxxx-0123456789-0123456789-0123456789-0123456789' # 投稿するチャンネル名 c_name = 'test' # 投稿する画像ファイルへのパス(パラメタから取得) f_path = sys.argv[1] # 投稿 slacker = Slacker(token) slacker.chat.post_message(c_name, '画像アップするよ', as_user=True) slacker.files.upload(f_path, channels=[c_name], title='タイトル') |
token
先ほど生成したtokenを指定します。↑のは例だよ。
chat.post_message
メッセージを投稿します。
パラメタにチャンネル名、投稿内容を指定しています。
as_user=Trueとすることで、Botではなく『Tokenを作成したユーザ』名義で投稿できます。
files.upload
ファイルを投稿します。
パラメタに投稿するファイルへのパス、チャンネル(複数指定可)、ファイルタイトルを指定しています。
こんな感じで投稿できるはずです。
APIメソッドについての詳細はこちらを参照。
API Methods
活用例
ラズパイに接続したカメラモジュールで写真を撮影して、それを Slack に投稿するサンプルです。
(↑の python スクリプトを slackpost.py として作成しています)
1 2 |
sudo raspistill -o /home/pi/Pictures/photo.jpg -w 720 -h 480 sudo python slackpost.py /home/pi/Pictures/photo.jpg |
これから
いやーおもしろいなコレ! いろいろ活用できそうです。
motionを使った監視カメラと連携させてみたいと思います。