24
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Slackにpythonからメッセージを送信する

概要

slackのapiをたたいてslackにpythonからメッセージを送信する。

やること

1. slackのワークスペースを作成

2. slack-appを作成

参考 (Slack API 推奨Tokenについて)

2-1. Slack apiにアクセスする。

2-2. install your app to your workspace

名前などを決めてappを作成する。

2-3. 権限の追加

OAuth PermissionsのScopesで以下の権限を追加する。
- chat:write :user (Send messages on the user’s behalf)

2-4. token取得

install Appの
「Bot User OAuth Access Token」を使用(botの発言)。
「OAuth Access Token」を使用すると個人の発言になる。

3. Slack Appをチャネルに追加する

  1. SlackからAppを選択
  2. その他 --> チャネルにこのアプリを連携させる --> チャネルを選択

4. python-apiを実装

import requests


class SlackDriver:

    def __init__(self, _token):
        self._token = _token  # api_token
        self._headers = {'Content-Type': 'application/json'}

    def send_message(self, message, channel):
        params = {"token": self._token, "channel": channel, "text": message}

        r = requests.post('https://slack.com/api/chat.postMessage',
                          headers=self._headers,
                          params=params)
        print("return ", r.json())


if __name__ == '__main__':
    token = ''  # TODO your token.
    slack = SlackDriver(token)
    slack.send_message("Hello World! from python", "#random")

tokenをセットする。

必要に応じてチャネル名、メッセージを変更する

参考

終わりに

python-slackclient というとても便利なライブラリがあるが、うまく使えなかった。sslがおかしいとか言われる...

これから

slackからのメッセージを受信できるようにしたい
SlackからPythonサーバーにメッセージを送信する

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
24
Help us understand the problem. What are the problem?