BotFramework で PomodoroBot をつくった

前回 に続き、BotFramework で作ったもの第二弾。
PomodoroBot を作成した。

Pomodoro Bot

使い方はサイト内の How To Use を参照。


訴求点

  • ギョームとプライベートなどで異なるプラットフォーム環境でも共通して使えるツールが欲しかった
  • Bot のインストールで済むので気軽


システム構成

pomodoro-bot

pomodoro-notification


まだまだなところ

  • タイマーの途中停止ができない
  • Heroku の再起動) でタイマーが止まる
    通知は来る
  • Heroku の deploy でもタイマーが止まる
    Deploy Hooks で止まった通知は来る


学び


感想

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 がないのが大きい。
システム全体の構成を考えるアーキテクト視点のスキルが必要に感じた。
フルスタック、というか広く浅いスキルセットを持っている僕みたいな人にマッチしてる。


アジャイルな時間管理術 ポモドーロテクニック入門

アジャイルな時間管理術 ポモドーロテクニック入門