Python で Slack bot の実装をしてみた
Slack の bot ツールでは以下の curl コマンドでメッセージ送信ができる。
かなり簡素(Authとか不要)なので勉強のため、Python スクリプトでメッセージ送るスクリプトを書いてみた。
使い勝手とかマジで糞だけど python に慣れるためということで。。
https://github.com/ks6088ts/SlackTool
だいぶ脱線して、以下のこともついでに勉強してた
json ファイルの読み書き
tokenとか見ちゃダメなパラメータ群はまとめて json ファイルに。
Pythonの基礎 ファイル(JSON)の読み込み編
これ参考にしてしまったけど、本来は with 使ってスコープ外れたらリソース開放みたいにナウい感じに書きたい。
Optionparser 機能
help とかあったほうがいいよねと思いたち、追加で実装。
使い勝手がまだ糞だけど使えることは確認した。
必須オプションが抜けてたら死ぬ機能は無いんかな。。。?
https://github.com/ks6088ts/SlackTool/commit/ef2272ca434f2548e1c7195785615558991c0747
パッケージ生成
slack の仕様に依存する処理はまとめてパッケージにしてみた。
ユーザーコード側には抽象化したインタフェースを提供する意図で。
__init__.py をおいて、from package import file_name って感じにロードすればOK
https://github.com/ks6088ts/SlackTool/commit/1bf346bb3d23d0b4601a5df01d6f966d028c156d
とりあえずスクリプトは動いた。
あとやりたいことはこんな感じかな。
- unittest を travis ci で回す
- cron で定期的につぶやく
- 機械学習的なバックエンドを実装していい感じの文章を生成する
- webhook 周りの機能追加
Example
$> curl --data "Hello from Slackbot" $'https://<hoge>.slack.com/services/hooks/slackbot?token=<token>&channel=<channel>' oktoken をパラメータ設定して、データをおみやげにして POST すればメッセージが送られるとのこと。
かなり簡素(Authとか不要)なので勉強のため、Python スクリプトでメッセージ送るスクリプトを書いてみた。
使い勝手とかマジで糞だけど python に慣れるためということで。。
https://github.com/ks6088ts/SlackTool
だいぶ脱線して、以下のこともついでに勉強してた
json ファイルの読み書き
tokenとか見ちゃダメなパラメータ群はまとめて json ファイルに。
Pythonの基礎 ファイル(JSON)の読み込み編
これ参考にしてしまったけど、本来は with 使ってスコープ外れたらリソース開放みたいにナウい感じに書きたい。
Optionparser 機能
help とかあったほうがいいよねと思いたち、追加で実装。
使い勝手がまだ糞だけど使えることは確認した。
必須オプションが抜けてたら死ぬ機能は無いんかな。。。?
https://github.com/ks6088ts/SlackTool/commit/ef2272ca434f2548e1c7195785615558991c0747
パッケージ生成
slack の仕様に依存する処理はまとめてパッケージにしてみた。
ユーザーコード側には抽象化したインタフェースを提供する意図で。
__init__.py をおいて、from package import file_name って感じにロードすればOK
https://github.com/ks6088ts/SlackTool/commit/1bf346bb3d23d0b4601a5df01d6f966d028c156d
とりあえずスクリプトは動いた。
あとやりたいことはこんな感じかな。
- unittest を travis ci で回す
- cron で定期的につぶやく
- 機械学習的なバックエンドを実装していい感じの文章を生成する
- webhook 周りの機能追加
コメント
コメントを投稿