matobaの備忘録

和歌山と東京を往復しつつ活動するエンジニアの記録

SlackにPythonから投稿する

SlackにPythonから投稿したいな、という気持ちになりました。

ちょっと調べたらすぐできたのでその時のメモ。

全体像

  • Slackでincomming webhookを登録して、投稿用のURLをゲットする
  • 投稿用のURLに対して、メッセージをpostする

とりあえず検索すると以下の記事が出てきました。そのままでいけそうです。

https://qiita.com/yoshitaku_jp/items/8a53272a0118e7604994

import argparse
import json
import requests

SLACK_URL= "*******************"

def post_slack(message):
    context = {
        "text": message,
        "icon_emoji": ':blush:',
    }
    data = json.dumps(context)
    requests.post(SLACK_URL, data)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Slackに投稿するコマンドラインです')
    parser.add_argument('message', type=str,help='Slackに投稿するメッセージ')
    post_slack(parser.parse_args().message)
(venv) $ python sample_slack_post.py "Slackに投稿できたよ!"

f:id:mtb_beta:20180415144715p:plain