1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Slack_botを使って読書習慣をつけることにした話

Posted at

作ろうと思った経緯

なんか最近読書を怠っているなーと感じて習慣をつけようと思っていたこの頃。
どうせならSlack_botの勉強もかねて作ろうと奮起して開発することにしました。

作る機能

  • 自分が読みたい本リストの取得
  • 自分が読みたい本リストの追加
  • こちらから読み終わったわよの報告をしたら、botから応援(?)レスポンス。

これらの機能は@slack_bot <command> optionみたいな感じで色々やろうと思います。

概要はこんな感じ

スクリーンショット 2019-04-03 12.55.56.png

とりあえず研究室に放置されていたMac mini(化石)を使ってSlack_botを動かそうと思います。

本とメッセージのリストはこんな感じのjsonファイルで管理しようと思います。

sample.json
{
  "book": {
    "0": {
      "name": "スラムダンク1巻",
      "value": "2"
    },
    "1": {
      "name": "スラムダンク2巻",
      "value": "2"
    },
    "2": {
      "name": "スラムダンク3巻",
      "value": "2"
    },
    "3": {
      "name": "スラムダンク4巻",
      "value": "1"
    },
    "4": {
      "name": "スラムダンク5巻",
      "value": "0"
    },
    "5": {
      "name": "スラムダンク6巻",
      "value": "0"
    }
  },
  "message": {
    "0": "あきらめたら、そこで終了ですよ...?",
    "1": "全国制覇を成し遂げたいのならもはや何が起きようと揺らぐことのない--断固たる決意が必要なんだ!!",
    "2": "全国制覇とは、口だけの目標かね"
  }
}

bookが本の一覧で、nameが本の名前になります。valueの0がまだ読んでない本、1がいまの課題図書、2が読み終わった本となります。messageが読み終わった際にbotからくるレスポンスのリストとなります。

できたもの

できたものはこちらです。

コマンドはこんな感じ

スクリーンショット 2019-04-03 15.59.27.png 少し生意気なbotにしました。

本リストの取得はこんな感じ

スクリーンショット 2019-04-03 16.15.32.png このように本のvalueごとで出力するようになっています。

本リストの追加はこんな感じ

スクリーンショット 2019-04-03 16.28.06.png 追加されていますね。

終わったよ報告はこんな感じ

スクリーンショット 2019-04-03 16.34.54.png

メッセージのあとすぐ次の本を提示してきます。鬼軍曹。

感想

やっぱり思いたったことを作ってみるのは楽しいですし、それが学びにつながっていくなーと思いました。いまは研究室に余っているPCを使って動かしていますが、これからはクラウドとかも勉強がてら使っていきたいです。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?