Slack Outgoing Webhooksをとりあえず使ってみた

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

前提

CentOS7 pyenvをホームディレクトリにインストール

ホームディレクトリ配下に、.slaskerというvenv環境を用意した。
また、pipで次のパッケージをインストールしておく。

[shell] pyvenv ~/.slacker
source ~/.slacker/bin/activate
pip install –upgrade pip
pip install bottle simplejson
[/shell]

 

Outgoing WebHooks に登録し、トークンを取得する

Outgoing WebHooks にアクセスする。

Outgoing_WebHooks___bolytenion_Slack

Configure_Outgoing_WebHooks___bolytenion_Slack

BOTに関する設定を記述する。

Outgoing_WebHooks___bolytenion_Slack

反応を受けるプログラムを作成する

次のようなプログラムを作成した。

[shell] #! -*- coding: utf-8 -*-

from bottle import route, run, request,static_file

import simplejson as json

@route(‘/’, method=’POST’)
def mybot():

## slackbotのときは反応しない
if request.forms.user_name == "slackbot":
return ”

return _say(request.forms.text)

def _say(text):
return json.dumps({
"text": text,
"username": "mybot",
"icon_url": "URL",
})

if __name__ == ‘__main__’:
run(host=’localhost’, port=8880, debug=True, reloader=True)

[/shell] 実行する。

今回利用したサーバーはApacheが使われているため、Apacheをフロントサーバーとして使い、https://hogehoge.com にレスポンスがあった時に、localhost:8880 にリダイレクトするようにした。

以下、バーチャルホストの設定例。

[shell] <VirtualHost *:80>
ServerName umentu.work
ProxyPass / https://localhost:8880/
ProxyPassReverse / https://localhost:8880/
</VirtualHost>
[/shell]

以下、実行結果。

Slack

Related posts

コメントを残す