リッチメニューで LINE ボットの UX を向上

あけましておめでとうございます。 昨年 LINE ボットの UX 新機能としてリッチメニューの拡張が発表されました。概要はこちらをご覧ください。これまで 1 つだけ設定できたリッチメニューが API 経由で操作できるようになっています。 最大 10 のリッチメニューが作成可能。また各メニュー毎に 20 のエリアが設定可能。 任意のリッチメニューを任意のユーザーに設定可能。 これにより、ユーザーの状態やキャンペーン期間中など動的にリッチメニューを差し替えることができるため面白いシナリオを実装出来そうです。 リッチメニューマネージャー まずリッチメニューを作る必要があり、API が公開されていますが、GUI で簡単にできるようにツールを作りました。 前提条件 Node.js: バージョン 8.7 で検証済 ブラウザ: Chrome で検証済 インストール 1. 以下コマンドでインストール npm install –g line-richmenus-manager macOS の場合は必要に応じて sudo 実行。 sudo npm install –g line-richmenus-manager 2. ツールがインストールできたら以下コマンドで実行。 line-richmenus-manager –port:3000 ポート番号を省略した場合はポート 3000 で起動します。 3. Chrome で… Read more

Azure Bot サービスとLUIS が GA して変わったこと: その1 Azure Bot サービス

とうとう Microsoft Bot Framework と Azure Bot サービスがいよいよ GA しました!今回から数回で変わった点などを紹介します。今回は Azure Bot サービスについてです。 Azure Bot サービス Azure ポータルから作成できる Bot のサービスは 3 種類になりました。 Web App Bot: Web App とボット用のチャネル登録を統合したサービス Functions Bot: Azure ファンクションとチャネル登録を統合したサービス Bot Channels Registration: 既にボット用 API がある場合に使う、チャネル登録サービス Bot Channels Registration まずは全てに共通する Bot Channels Registration から見ていきます。これまでポータルでボット登録ができましたが、この機能でほぼ同じことが出来ます。 ウィザードにそって作成すると、以下のことをしてくれます。 Microsoft App Id の取得 Application Insights の構成 (選んだ場合)… Read more

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

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

Azure Serverless ワークショップ Deep Dive : モジュール 7,8

前回に続いて、今回はモジュール 7 と 8 の Deep Dive です。 GitHub モジュール 7: https://github.com/Azure-Samples/azure-serverless-workshop-team-assistant/tree/lang/jp/7-photo-mosaic-bot GitHub モジュール 8: https://github.com/Azure-Samples/azure-serverless-workshop-team-assistant/tree/lang/jp/8-coder-cards 概要 どちらも以下の点で共通したモジュールとなっています。 – 写真の解析 – Cognitive Service – C# コード自体は Serverless とは直接関係がなく、機能の実装を主としているため今回は解説しませんが、利用しているサービスなどを見ていきます。 各種サービス Azure Storage 写真の置き場所として利用 Blob を利用。またモジュール 8 では処理のトリガーとしてキューも利用。 Custom Vision Service このサービスを使うと、通常の Vision サービスでは解析されないものを独自に対応できます。既に多くのブログで紹介されています、例えば吉野家と松屋の牛丼を見分けるということが可能です。今回はランドマークを登録して見分けるデモをしていますが、是非独自のカテゴライズに利用してください。 Bing Search API Bing 検索の機能を API として利用できます。今回はイメージ検索とその URL 取得に使っています。一気に画像を取得するのに良さそうです。 Emotion API Cognitive Service… Read more