Microsoft Bot Framework と LINE を連携して賢いボットを開発

Microsoft はボット開発フレームワークとして Bot Framework (http://dev.botframework.com) を提供しています。主な機能としては 一度書けば様々なプラットフォームに展開が可能。(skype, facebook, skype for business, slack, sms, email, など) コンテキスト自動制御による、複雑な会話を実現するダイアログ機能 C#/Node.js SDK Visual Studio 用テンプレートやエミュレーター Microsoft コグニティブサービスとのシームレスな連携 個人的にはダイアログのサポートが最高です。もし一問一答ボット作るだけなら不要ですが、前回会話の内容を保持するなどスクラッチでダイアログ機能を作ることを考えると気が遠くなります。 では何が問題かというと、LINE を連携先として現時点でサポートしていないという点です。 解決策 Bot Framework では汎用的に使えるダイレクトラインという接続方法を提供しているため、こちらを使えばどんなプラットフォームとも連携が可能です。また既に C# でコネクタを開発済です。 対象者 既に Bot Framework でボット開発をしていて、 LINE にもつなげたい開発者 LINE ボット開発者で Bot Framework を使いたい開発者 前提 Microsoft Bot Framework bot アプリケーション。この記事では GitHub にあるサンプルを使います。 Visual Studio 2017… Read more

ボット開発用 LINE クライアントシミュレーターで開発スピードを上げる

個人的に、開発生産性の向上はとても重要です。よって Visual Studio を使うわけですが、LINE ボット開発における生産性のボトルネックは、テストやデバッグに実機が必要であるという点です。 Windows や MacOS 用の LINE クライアント LINE アプリはモバイル版以外にもあるため、ボット開発ではそちらを使いますが、テンプレートのようなリッチな機能を試そうとすると、スマートフォンを使うように促されます。 シミュレーター ではどうするか?ということでシミュレーターを作ってみました。これでより簡単にテストが可能です。 npm: https://www.npmjs.com/package/line-simulator GitHub: https://github.com/kenakamu/LINESimulator 試すには LINE のボットアプリが必要です。もし自前のアプリがない場合は、C# でよければ前回の記事をご覧ください。ここでは前回記事で作ったボットを使って説明します。尚、シミュレーター自体は開発言語に依存しません。 LINE ボットアプリ側の準備 シミュレーターを使うためには、LINE ボットアプリ側で少し準備が必要です。 1. run.cs ファイルを開く。 2. HttpTriggerFunction コンストラクタにある、LineMessagingClient のコンストラクタにシミュレーターのアドレスを第 2 引数として渡す。 3. 統合コンソールでアプリケーションルートに移動して、dotnet build を実行。 4. .\bin\Debug\netstandard2.0\ に移動して、func host start でファンクション起動。 5. 以下の画面が出たら起動完了。 6. F5 キーを押下して dotnet.exe にアタッチしデバッグを開始。 他の言語を利用している場合も基本同じような流れですが、詳細は GitHub… Read more

Azure ファンクションと C# によるクロスプラットフォーム LINE Bot 開発

サーバーレスやボットなどのキーワードがバズってますが、台湾や韓国、日本などアジアでボットというと LINE を思い浮かべる方が多いのではないでしょうか。 この記事では LINE ボットをマイクロソフトのサーバーレスサービスである Azure ファンクションで実装する方法を紹介します。また Azure ファンクションはクロスプラットフォームで開発できるので、Windows でも Mac でも Linux でも開発できるのが魅力です。 前提条件 好きな OS。この記事では Windows を使います。 LINE 開発者アカウント https://developers.line.me/ja/ Azure サブスクリプション。無い場合は無料体験を https://azure.microsoft.com/en-us/free/ Visual Studio Code https://code.visualstudio.com/ dotnet core ライブラリ https://www.microsoft.com/net/learn/get-started/windows Mac や Linux 用はリンクから左にあるダウンロードを選択。 Node.js https://nodejs.org/en/ Git https://git-scm.com/ IDE と一緒にインストールされることが多いですが、必要な個別で。 ngrok https://ngrok.com/ LINE のセットアップ 既に LINE ボットアプリ作ったことある場合はスキップしてください。 1. https://developers.line.me/ja/ で LINE… Read more

Improve LINE Bot development productivity with Visual Studio Code Extension

In my previous article, I explained about LINE simulator. In this article, I explain VSCode extension to improve LINE Bot development. LINE Bot Development Utilities This is the VSCode extension. See the link for detail explanation. Visual Studio Marketplace : https://marketplace.visualstudio.com/items?itemName=kenakamu.linebotutilities GitHub: https://github.com/kenakamu/LINEBotDeveloperUtil How to setup 1. Open Visual Studio Code. 2. Click Extension menu on… Read more

Develop intelligent LINE bot with Microsoft Bot Framework

Microsoft offers great bot development framework (http://dev.botframework.com) for bot developers. The key features are: Write once, publish to multiple chat platform (skype, facebook, skype for business, slack, sms, email, etc.) Provide dialog support so that developers easily implement conversation flow without managing the conversation. C#/Node.js SDK IDE and simulator support Native integration with Microsoft Cognitive… Read more

C# LINE Bot development with Azure Function for cross-platform

Serverless and bot are buzz words these days. But when you say bot in some countries like Taiwan, Korea, Japan, many people think about LINE as its platform. In this article, I explain how you can jump start developing LINE bot using Microsoft technologies and host the app on Function App at the end. Prerequisites… Read more

LINE Messaging API C# SDK, Visual Studio templates and more!

LINE Messaging API for C# SDKC# 用 LINE Messaging API ライブラリを改めて @pierre3 さんと公開しました。 GitHub: https://github.com/pierre3/LineMessagingApi 各フォルダに日本語の説明もあります。このレポジトリには以下のものが含まれます。 – C# LINE Messaging API 用 SDK – Azure ファンクションサンプルプロジェクト – Web App サンプルプロジェクト – Visual Studio 拡張用プロジェクト 拡張用プロジェクトはマーケットプレースに公開済です。また Azure Funciton は v2 もあるので、Mac でも安心です。是非遊んでみてください。   Finally, we completed releasing LINE Messaging API for C# SDK, Visual Studio templates… Read more

Line Messaging API C# SDK moves to new repository

これまで LINE Messaging API for C# SDK を使ってくださり、ありがとうございます。コミュニティの力を集約させるために、今後 LINE Messaging API for C# SDK はhttps://github.com/pierre3/LineMessagingApi にて行います。既にこちらのレポジトリに Visual Studio のテンプレートを含め多くのアセットを以降済です。実装の仕方は異なりますが、詳細は別途ブログでも紹介していきます。 中村 憲一郎 For all who uses my LINE Messaging API for C# SDK so far, thanks a lot. However I decided to close down my repository and moving everything into https://github.com/pierre3/LineMessagingApi so that we can consolidate… Read more

Line Messaging API SDK update to v1.6

さっき v1.5 にしたばかりでしたが、別のレポジトリでアドバイスをもらった HttpClient のシングルトン化および Serverless Conf に参加した機会に Azure Function 対応しようと思ったので、ライブラリを .NET Standard 2.0 対応にしました。それに伴い、各種 VS テンプレートも更新済。 .NET Standard 2.0 にしたことでこれまでのテンプレートで SDK だけ上げると動かない場合があり、以下対応が必要です。 .NET Framework 4.6.1 以上 依存 NuGet の更新 I just released v1.5, but I forget to implement the advice I got from the issue from another repository about HttpClient singleton for performance. Another… Read more

Line Messaging API SDK update to v1.5

先日の LINE Developer Day 2017 での発表を受け、以下の機能をサポートするように LineMessagingAPI.CSharp をサンプルをアップデートしました。 GitHub: https://github.com/kenakamu/line-bot-sdk-csharp/releases/ – DateTime Picker – Image Carousel – リッチメニュー – Group および Room のユーザー一覧および詳細取得 ※開発者アカウントのためテストできていません。 Visual Studio テンプレートでも、以下のメッセージを送ることでテスト可能です。 carousel: カルーセルに DateTime Picker が付いてきます。 imagecarousel : 5つの画像カルーセルが返ります。 addrichmenu : リッチメニューを現在のユーザーに追加します。 deleterichmenu: 追加したリッチメニューを削除します。 deleteallrichmenu: すべてのリッチメニューを削除します。   LINE Developer Day 2017 was the other day, and I updated LineMessagingAPI.CSharp… Read more