Slackにpythonからメッセージを送信する
概要
slackのapiをたたいてslackにpythonからメッセージを送信する。
やること
1. slackのワークスペースを作成
2. slack-appを作成
2. slack-appを作成
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をチャネルに追加する
- SlackからAppを選択
- その他 --> チャネルにこのアプリを連携させる --> チャネルを選択
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")
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をセットする。
必要に応じてチャネル名、メッセージを変更する
参考
- 必要な Slack API はどれ?
- Slack API 推奨Tokenについて
- chat.postMessage api (機能を追加するならよく読む)
- Slack api
- https://github.com/st34-satoshi/slack-api
終わりに
python-slackclient というとても便利なライブラリがあるが、うまく使えなかった。sslがおかしいとか言われる...
これから
slackからのメッセージを受信できるようにしたい
SlackからPythonサーバーにメッセージを送信する
Author And Source
この問題について(Slackにpythonからメッセージを送信する), 我々は、より多くの情報をここで見つけました https://qiita.com/stu345/items/24790710abc571aae3ea著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .