SlackからPythonサーバーにメッセージを送信する
概要
slcakボットを作成し、slackからのメッセージをサーバーに送信する。
slackへサーバーからメッセージを送信するのは --> 「Slackにpythonからメッセージを送信する」
やること
1 サーバーの用意
slackからアクセスするサーバを用意する。
url_verification eventを参考に条件を満たす必要がある。
pythonコードサンプル
import flask
from flask import request, Response
import os
import json
app = flask.Flask(__name__)
@app.route('/', methods=["POST"])
def index():
data = request.data.decode('utf-8')
data = json.loads(data)
# for challenge of slack api
if 'challenge' in data:
token = str(data['challenge'])
return Response(token, mimetype='text/plane')
# for events which you added
if 'event' in data:
print("get event")
event = data['event']
if 'user' in event:
print("user = ", event["user"])
if "text" in event:
print("text = ", event["text"])
return Response("nothing", mimetype='text/plane')
port = os.getenv('VCAP_APP_PORT', '8000')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=int(port), debug=True)
2 slack app の作成
2.1 slack api にアクセス。
2.2 appの作成
「Create New App」を押下。
アプリ名とワークスペースを選択しappを作成。
2.3 Enable EventsをONにする
[Event Subscriptions]のページで、[Enable Events]を"ON"にする
2.4 Request URLを指定
1 で用意したサーバーのurlを指定する。
2.5 workspace eventの設定
Subscribe to workspace eventsで「Add Workspace Event」からworkspace eventを選択する。
今回はチャンネルのメッセージを取得する message.channelsを選択する。
他のイベントはAPI Event Typesで調べられる。
3 slack appをworkspaceにインストール
3.1 workspaceにインストール
「Install App to Workspace」からインストールする。
3.2 チャンネルにアプリを追加
アプリを追加したいslackのチャンネル-->設定-->アプリを追加する
参考
終わりに
slackのチャンネルからのメッセージをサーバで受信することができた!
なんでもできそう。
一度challengeを通過すれば、その後にサーバーを止めても、また起動すれば大丈夫。
Author And Source
この問題について(SlackからPythonサーバーにメッセージを送信する), 我々は、より多くの情報をここで見つけました https://qiita.com/stu345/items/030dbfca8363583d24ad著者帰属:元の著者の情報は、元の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 .