かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Bot

Bot Framework で全てのダイアログが終わったタイミングで処理がしたい

ダイアログの BeginDialogAsync や EndDialogAsync をオーバーライドすると、ダイアログの最初と最後に処理をさしこめるっぽい。 でも、ダイアログの外側(Botクラス)からダイアログの状態を見て全てのダイアログが終わったタイミングで何かメッセージを送…

Bot Framework SDK 4.4.3 時点でのボット作成の最小手順からダイアログまで

Bot Framework SDK (Bot Builder SDK?) v4 で v3 から大きく実装方法が変わったわけですが、結構 v4.1, 4.2, 4.3, 4.4... と進んでいくうちに、意外と v4 当初の作り方が非推奨になったりしてしょんぼりすることがあったので v4.4.3 時点での Bot Framework …

Azure Bot Services の Web App Bot で作成したボットのソースをダウンロードしてビルドしていると「**」というフォルダーが出来る

こんなやつです。 ちなみにビルドを重ねていくとパスの長さに関するエラーが出ます。 原因 何のためなのか調べてないのですが、EchoBot の csproj ファイルには 以下のような定義が含まれています。 <Import Project="PostDeployScripts\IncludeSources.targets" Condition="Exists('PostDeployScripts\IncludeSources.targets')" /> </import>

Azure Bot Services の SDK が v4.3.x にアップデートして色々変わってる件について

噂には聞いてたんですが、ダウンロードしてびっくりしました。 気づいた点をさくっと書いておこうと思います。 因みにリリースノートはこちら。 github.com Controller クラス復活 今まで api/messages エンドポイントを定義するのは Azure Bot Services の …

Azure Bot Service で Microsoft Teams のボットにボタンで選択肢を出したい

これでハマったのでメモ。 もし、もっと楽な方法があったら教えてください。 やりたかったこと 以下のようなメッセージを生成したかった。 xxxxですか? [ はい ] [ いいえ ] 質問に対して「はい」か「いいえ」をボタンで出したかった。 最初にやったこと Co…

Azure Bot Services の LINE のチャンネルを試してみた

はじめに とりあえず LINE に繋ぐ手順を試してみました。 本文 昨日みつけた LINE のチャンネルを試してみました。ドキュメントもあるのでそっち見てもOK docs.microsoft.com LINE の Developers Console で適当にプロバイダーを作ります(すでにあるならそ…

Microsoft Teams にボットを追加したい

オレオレボット足したいじゃないですか。 Bot Framework を使って作るのが正攻法ですが、一応 Outgoing Webhook を使ってもボット作れます。 docs.microsoft.com 作ってみてる人もいます。お手軽でいいですね。 hkou.hatenablog.com Bot Framework を使った…

Bot Builder SDK v4 の OAuthPrompt を使って出したログインボタンが Microsoft Teams で反応しない

Bot

しないんですけど!?下の issue の通りみたい。 github.com まじかぁ… The sign in card's button has an ActionType of signin and teams does not support this ActionType. In order to make this work as present time you need to go in and change th…

Bot Builder SDK v4 を使って QA ボットを作ってみよう

とりあえず、スタート地点は Bot Builder SDK v4 のテンプレートの中の Echo ボットを使います。 テンプレートを Visual Studio に追加するにはこの拡張機能を入れます。 marketplace.visualstudio.com Echo のテンプレートを使って作成したら、とりあえず E…

Bot Builder SDK v4 で認証をつけてみよう

単純なものなら動くようになってきたので、個人的に興味のあった認証部分をやってみようと思う。 前回はこちら。 blog.okazuki.jp ドキュメントはこちら。 docs.microsoft.com Azure AD にアプリを追加 v1 と v2 があるけど v2 の機能が必要ない限りは v1 で…

Bot Builder SDK v4 勉強ログ

ドキュメント読みながらのメモ Bot Builder SDK v4 の処理の流れ こんな理解 ユーザーからのメッセージ from 各種クライアント(slack, teams, etc...) -> Bot Connector サービス -> Bot Builder SDK v4 製のアプリ Bot Builder SDK v4 製のアプリがメッセー…

Bot FrameworkでFormFlowをテストしよう(基本編)

Bot

過去記事 blog.okazuki.jp blog.okazuki.jp blog.okazuki.jp blog.okazuki.jp はじめに 何か他に知りたいことない?っていうこと書いてたらFormFlowってどうやるの?と聞かれたのでやってみました。 結論からいうとユニットテストというには粒度がでかすぎて…

Bot FrameworkでDialogをテストしてみよう(もうちょっとユニットテスト書くよ金の力で編)

Bot

過去記事 blog.okazuki.jp blog.okazuki.jp blog.okazuki.jp はじめに 今までの記事でBot Frameworkを使った場合のユニットテストの書き方がなんとなくわかった気がします。 ただ、ちょっとBot Frameworkを使うと、もう1つはまるだろうなというポイントがあ…

Bot FrameworkでDialogをテストしてみよう(3回目にしてついにユニットテスト書いたよ編)

Bot

過去記事 blog.okazuki.jp blog.okazuki.jp 本文 さて、初回でDIができるようになり2回目でテストできそうな雰囲気まで考えてみました。 今回はついに実際にユニットテストを書いてみようと思います。採用したテスティングフレームワークは、Visual Stduioで…

Bot FrameworkでDialogをテストしてみよう(試行錯誤編)

Bot

前回のBlogでDI使っていい感じにできる環境が整いました。 blog.okazuki.jp 次は実際に単体テストをする段階です。 ということで、実際に試行錯誤しながらコードを書きつつブログをしたためようと思います。いつもは、割と試行錯誤とかの段階は記録に残して…

Bot Frameworkでテスタブルな感じに作りたいのでDIしてみた

Bot

Bot Frameworkは実はAutofacを使ってるみたいですね。 github.com ただ、これを使う方法のドキュメントが見つけられない…。サンプルの中には、これを使って作られてるものがあったりもします。 github.com でも、微妙にInternalsな名前空間使ってたりして、…

Bot FrameworkのDirect Line APIをXamarin.Formsから使う場合のサンプルプログラム

を書きました。 .NET Standardにしないといけなかったりとちょっと手間取りましたが、なんとか動く感じになりました。リポジトリは以下になります。 github.com Bot Frameworkを使えば簡単にBotを作れるので、作ったBotを自分のアプリに組み込む際の参考にし…

Xamarin.FormsでBotFrameworkのDirectLineを試す

自分用メモです。(雑です) PCLを辞めます。 .NET Standardにプロジェクトを変換します。 以下をプロジェクトに追加する。 Micrsoft.Bot.Connector.DirectrLine Microsoft.Rest.ClientRuntime こんな感じに書けば動いた!とりあえず