前回 に続き、BotFramework で作ったもの第二弾。
PomodoroBot を作成した。
使い方はサイト内の How To Use を参照。
訴求点
システム構成
pomodoro-bot
- GitHub - kheiakiyama/pomodoro-bot
- Bot のメッセージを受け取るサーバー
- Azure AppService のコンピューティング時間1日60分までの無料枠で運用 (料金詳細)
- C#
- Asp.NET MVC
- Table Storage
pomodoro-notification
- GitHub - kheiakiyama/pomodoro-notification
- ポモドーロタイマー通知用サーバー
- Heroku の Hobby で運用。 $7 / month (料金詳細)
- Node.js
- express
まだまだなところ
- タイマーの途中停止ができない
- Heroku の再起動) でタイマーが止まる
通知は来る - Heroku の deploy でもタイマーが止まる
Deploy Hooks で止まった通知は来る
学び
- BotFramework が各チャットサービスからのエンドポイントを肩代わりしてくれるうえ、BotFramework に登録するエンドポイントも気軽に変更できるので捗る。
ドメインも取得してない。 - BotFramework で条件によって FormFlow を実行する方法 - Qiita
- 1ページのサイトデザインは HTML5 UP を探すと1つくらいよさ気なものがある
感想
BotFramework 自体は C# or Node.js だが、FormFlow は今のところ C# でしか実装されてない。
これを渡すだけでポモドーロタイマーを作成するウィザードにしてくれるんだからありがたい。
[Serializable] public class PomodoroTimer { public const string DescName = "name"; public const string DescDuration = "duration minutes"; public const string DescShortBreak = "short break minutes"; public const string DescLongBreakSpan = "long break span"; public const string DescLongBreak = "long break minutes"; [Describe(DescName)] public string Name { get; set; } [Describe(DescDuration)] [Numeric(5, 60)] public int Duration { get; set; } [Describe(DescShortBreak)] [Numeric(1, 20)] public int ShortBreak { get; set; } [Describe(DescLongBreakSpan)] [Numeric(2, 10)] public int LongBreakSpan { get; set; } [Describe(DescLongBreak)] [Numeric(5, 60)] public int LongBreak { get; set; } }
Bot 開発は機械学習に踏み入れなければそこまで難易度は高くない。
アプリのように UI がないのが大きい。
システム全体の構成を考えるアーキテクト視点のスキルが必要に感じた。
フルスタック、というか広く浅いスキルセットを持っている僕みたいな人にマッチしてる。
- 作者: Staffan Noeteberg,渋川よしき,渋川あき
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/12/16
- メディア: 単行本(ソフトカバー)
- 購入: 13人 クリック: 330回
- この商品を含むブログ (57件) を見る