初心者ガイドMSチームの開発
18570 ワード
こんにちは、私はあなたのマイクロソフトチームの開発を開始する方法
これは初心者シリーズの第3のものです、そして、今度は、メッセージから行動を起こす方法を通してあなたを歩きます.
チームのアプリを構築する方法を学ぶために多くの異なるパスがあり、このチュートリアルでは、最低限のコードと最小のツールセットを使用します.また、このチュートリアルでは、ホスティング環境から独立しているので、私はazureセットアップでプロセスを開始していない、と基本的に、これはブラウザを実行することができる限り、任意の環境で実行する必要があります.
このチュートリアルでは、別のチームプラットフォーム機能を紹介します.Messaging Extensions . この機能は、2つの異なるタイプ、アクションと検索が付属し、それはどのようにUIの要素とフローとの対話に依存します.
このチュートリアルでは、アクションコマンドの作成方法を示します.
チームの特徴:メッセージ拡張
ユーザーがメッセージメニューを開き、メニューからMorse ユーザーアクションがトリガーされると、ペイロードがメッセージングエンドポイント(/API/message)に送信されます これは、Count - fetchTask ポップアップダイアログが表示されます.ユーザーがテキストコンテンツを編集することができます アプリは、モードコードにテキストを翻訳し、返信としてコンテンツを表示します ユーザは結果をクライアントに送ることができます これは結果がどのように見えるかです.
チームにアプリをインストールすることができるように、あなたの組織の管理者は許可を付与する必要があります.
それ以外の場合は、マイクロソフト365開発プログラム、開発者テナントサンドボックスとサンプルデータパック、模擬ユーザーデータのように来る無料、更新可能なサブスクリプションのためにサインアップすることができます! チームまたは開発者テナントで開発する許可Sign up for M365 developer program! ) アプリStudioは-チームのクライアントのアプリメニューからアプリを探して、ワークスペースにインストールする ノードの経験.の基本的な理解Express.js
ノード.js
Microsoft Bot Framework
Adaptive Cards UIのスニペットの構築
このチュートリアルでは、サードパーティツールを使用しています.Glitch このプロジェクトと他のチュートリアルシリーズのホストと実行を行う.グリッチが何であるか、そして、私がなぜそれを使っているか、もう少し詳細については、私を参照してください!
まず始めましょうclick this Glitch link to remix the project . リミックスは、Githubのrepoをフォークするようなものですので、それはあなたのためのプロジェクトのコピーを生成するので、あなたが元の🙌
したら、独自のプロジェクトのレポを取得すると、自動的にアプリを提供し、独自のWebサーバーのURLを取得します.あなたがアプリケーションのスタジオでアプリを後で設定しているときにURLが必要になります.
チームのAPPパッケージの基本的な考え方を参照してください.
チームのクライアントで開くアプリのスタジオアプリケーション.
アプリケーションのスタジオでは、マニフェストエディタータブを上部からクリックし、新しいアプリケーションを作成し、ボット名、説明などを含むすべての必須フィールドを入力します.
次に、アプリケーションIDを生成します.
左側のメニューから「機能」を選択します.先に行くとセットアップボタンを設定するをクリックします.
あなたのアプリの名前を付けます.
あなたのボット名の隣にIDをコピーします
アプリのパスワードの下に、新しいパスワードを生成し、それをコピーします.次に、あなたの中に貼り付けます.envファイル.
これらの資格情報は、ボットアダプタを初期化するために使用されます.( index . jsを参照ください).
(画面3のステップ3について説明する.
メッセージングエンドポイントで、あなたのウェブサーバURLを入力してください.
コマンドをクリックして“追加”をクリックしてください.
ダイアログボックスで- を選択します. を選択してください コマンドIDとタイトルテキストを入力します.をクリックして“マッサージ”(未選択の他のチェックボックスは、事前に選択されている場合).残りの空白を残して保存します.
テストに行って、配布してください.
エラーが発生した場合は、修正を行ってください.そうでなければ、クライアントをインストールしてください.
zipファイルをダウンロードすることもできます
コードサンプルを再混合する限り、ボットは既に動作します.しかし、私はすぐにどのようにボットをしようとする前にコーディングされて説明することができます.
The Microsoft Bot Framework は、インテリジェントな、エンタープライズグレードのボットを構築することができますオープンソースのSDKです.
このSDKは、チームのためだけでなく、WEB&モバイルチャット、Skype、Facebook、Amazon Alexa、スラック、twilioなどを含む幅広い種類のチャットボットのために動作するように設計された強力なプラットフォームです!
まず、グリッチコードサンプルrepo、indexに2つのjsファイルがあります.JSとボット.js
HTTPサーバを設定し、HTTPリクエストをルーティングするためにExpressを使用しています.そして、サービスを開始する方法は同じですが、これは初期化の要約であり、ボットアダプタを作成します.
Expressを使用して着信要求をリッスンするルーティングを処理します.
リクエストがエンドポイントで受信され、ボットロジックに転送されると、アプリケーションはリクエストのコンテキストを受け取り、その後ボットでカスタム応答を作成します.js
参照
このシナリオでは、ユーザーがメッセージからアクションをトリガーするとき.
あなたはそれについての詳細を学ぶことができますCreate and send the task module チームドキュメント
ダイアログUIはAdaptive Cards , JSONのUIのスニペットを構築するマイクロソフトオープンソースで、マイクロソフトチーム、Outlook Actionableメッセージ、Cortanaスキルなどで使用できます.
時
アダプティブカードとコンテンツを定義するには、次の手順に従います.
フルコードを表示するには、ボットを参照してください.GlitchのコードサンプルのJSファイル.
ユーザがタスクモジュールを送信すると、
このサンプルコードでは、カスタムデータをチェックするだけです.
さて、アクションを試してみましょう!チームのクライアントに移動し、テキストメッセージのいずれかをクリックします.
すべてが期待通りに動作する場合は、モールス符号に任意のテキストメッセージを変換することができます!
私はあなたがこのチュートリアルを使用してマイクロソフトチームのプラットフォームで何ができるかについていくつかの良いアイデアを得ることを願って、私はあなたがこれより良いユースケースを見つけて、何か素晴らしいものを作成願っています!
次のチュートリアルでは、検索コマンドである別の種類のメッセージング拡張モジュールを構築する方法を説明します.また会いましょう👋
これは初心者シリーズの第3のものです、そして、今度は、メッセージから行動を起こす方法を通してあなたを歩きます.
チームのアプリを構築する方法を学ぶために多くの異なるパスがあり、このチュートリアルでは、最低限のコードと最小のツールセットを使用します.また、このチュートリアルでは、ホスティング環境から独立しているので、私はazureセットアップでプロセスを開始していない、と基本的に、これはブラウザを実行することができる限り、任意の環境で実行する必要があります.
このチュートリアルでは、別のチームプラットフォーム機能を紹介します.Messaging Extensions . この機能は、2つの異なるタイプ、アクションと検索が付属し、それはどのようにUIの要素とフローとの対話に依存します.
このチュートリアルでは、アクションコマンドの作成方法を示します.
チームの特徴:メッセージ拡張
アクションコマンドを使用すると、情報を収集または表示するためにモーダルポップアップを使用してユーザーを提示することができます.彼らがフォームを提出するとき、あなたのウェブサービスはメッセージを直接会話に挿入することによって、または、メッセージメッセージ領域にメッセージを挿入することによって応じることができて、メッセージを提出するのを許します.畝
モールス符号メッセージアクションの構築
我々はビルドする予定のアプリは、ユーザーメッセージからのアクションを呼び出すテキストを抽出し、モールス符号に変換!
アプリの仕組み
📓 必要条件
チームにアプリをインストールすることができるように、あなたの組織の管理者は許可を付与する必要があります.
それ以外の場合は、マイクロソフト365開発プログラム、開発者テナントサンドボックスとサンプルデータパック、模擬ユーザーデータのように来る無料、更新可能なサブスクリプションのためにサインアップすることができます!
👾 このチュートリアルで使用する技術
Microsoft Bot Framework
Adaptive Cards UIのスニペットの構築
行動を起こす
🎏 コードサンプルの取得
このチュートリアルでは、サードパーティツールを使用しています.Glitch このプロジェクトと他のチュートリアルシリーズのホストと実行を行う.グリッチが何であるか、そして、私がなぜそれを使っているか、もう少し詳細については、私を参照してください!
まず始めましょうclick this Glitch link to remix the project . リミックスは、Githubのrepoをフォークするようなものですので、それはあなたのためのプロジェクトのコピーを生成するので、あなたが元の🙌
したら、独自のプロジェクトのレポを取得すると、自動的にアプリを提供し、独自のWebサーバーのURLを取得します.あなたがアプリケーションのスタジオでアプリを後で設定しているときにURLが必要になります.
⚙️ アプリケーションの設定:アプリケーションスタジオでアプリケーションマニフェストを作成する
チームのAPPパッケージの基本的な考え方を参照してください.
🎛 アプリスタジオの使用
チームのクライアントで開くアプリのスタジオアプリケーション.
アプリケーションのスタジオでは、マニフェストエディタータブを上部からクリックし、新しいアプリケーションを作成し、ボット名、説明などを含むすべての必須フィールドを入力します.
次に、アプリケーションIDを生成します.
🔖 メッセージング拡張機能の設定
左側のメニューから「機能」を選択します.先に行くとセットアップボタンを設定するをクリックします.
あなたのアプリの名前を付けます.
🔐 アプリケーション資格情報
あなたのボット名の隣にIDをコピーします
2cd53e8a-e698-4exx-...
) で環境変数としてペーストします.env fileは、隠しファイルであることを想定しています.env-sample
to .env
).アプリのパスワードの下に、新しいパスワードを生成し、それをコピーします.次に、あなたの中に貼り付けます.envファイル.
これらの資格情報は、ボットアダプタを初期化するために使用されます.( index . jsを参照ください).
(画面3のステップ3について説明する.
🎬 アクションの設定
メッセージングエンドポイントで、あなたのウェブサーバURLを入力してください.
https://[your project].glitch.me/api/messages
あなたがサンプルrepoを再混合したならば.コマンドをクリックして“追加”をクリックしてください.
ダイアログボックスで-
📦 アプリケーションマニフェストパッケージのインストール
テストに行って、配布してください.
エラーが発生した場合は、修正を行ってください.そうでなければ、クライアントをインストールしてください.
zipファイルをダウンロードすることもできます
manifest.json
, そして、2つのアイコンイメージは、後でインストールするか、分配します.コードサンプルを再混合する限り、ボットは既に動作します.しかし、私はすぐにどのようにボットをしようとする前にコーディングされて説明することができます.
🤖 マイクロソフトボットフレームワーク
The Microsoft Bot Framework は、インテリジェントな、エンタープライズグレードのボットを構築することができますオープンソースのSDKです.
このSDKは、チームのためだけでなく、WEB&モバイルチャット、Skype、Facebook、Amazon Alexa、スラック、twilioなどを含む幅広い種類のチャットボットのために動作するように設計された強力なプラットフォームです!
🔧 ボットサービスの開始
まず、グリッチコードサンプルrepo、indexに2つのjsファイルがあります.JSとボット.js
HTTPサーバを設定し、HTTPリクエストをルーティングするためにExpressを使用しています.そして、サービスを開始する方法は同じですが、これは初期化の要約であり、ボットアダプタを作成します.
// Import bot services
const { BotFrameworkAdapter } = require('botbuilder');
// Bot's main dialog
const { ReverseBot } = require('./bot');
// App credentials from .env
const adapter = new BotFrameworkAdapter({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword
});
// Create the main dialog
const myBot = new MorseBot();
注意:この例では、botbuilder version 4.10.0を使用しています.コードが予想通りに動作しない場合は、使用しているバージョンをチェックしてください!🦉 BOT論理への転送要求
Expressを使用して着信要求をリッスンするルーティングを処理します.
app.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async context => {
await myBot.run(context);
});
});
あなたは前のステップでアプリケーションのスタジオでURLを設定している.The /api/messages
クライアントのリクエストに応答するアプリケーションのエンドポイントURLです.🙋♀️ リクエストの処理
リクエストがエンドポイントで受信され、ボットロジックに転送されると、アプリケーションはリクエストのコンテキストを受け取り、その後ボットでカスタム応答を作成します.js
参照
TeamsActivityHandler
が要求された場合、適切なハンドラを作成するために拡張されます.class MorseBot extends TeamsActivityHandler {
// Triggers when the message action is invoked by a user
handleTeamsMessagingExtensionFetchTask(context, action) {
/*
We're going to create an adaptive card UI (modal dialog) here.
In the dialog, the user confirms what text to be encoded to Morse code.
*/
}
// Triggers when the dialog box is submitted from the FetchTask
handleTeamsMessagingExtensionSubmitAction(context, action) {
// display the result
}
The TeamsActivityHandler
メッセージイベントを処理し、返信を送信するチーム固有のクラスです.このシナリオでは、ユーザーがメッセージからアクションをトリガーするとき.
handleTeamsMessagingExtensionFetchTask
あなたのボットは、アクションが行われたときにメッセージに関する情報を受信したので、呼び出されます.あなたはそれについての詳細を学ぶことができますCreate and send the task module チームドキュメント
📇 適応型カードを用いたモーダル対話の表示
ダイアログUIはAdaptive Cards , JSONのUIのスニペットを構築するマイクロソフトオープンソースで、マイクロソフトチーム、Outlook Actionableメッセージ、Cortanaスキルなどで使用できます.
時
handleTeamsMessagingExtensionFetchTask
を呼び出すと、メッセージコンテンツのテキストを取得し、応答としてモードダイアログとして適応カードに表示します.アダプティブカードとコンテンツを定義するには、次の手順に従います.
const card = {
type: 'AdaptiveCard',
version: '1.0'
};
card.body = [
{ type: 'TextBlock', text: 'The message to be encoded to Morse code:', weight: 'bolder'},
{ id: 'editedMessage', type: 'Input.Text', value: content },
];
card.actions = [{
data: { submitLocation: 'messagingExtensionFetchTask'},
title: 'Encode to Morse!',
type: 'Action.Submit'
}];
const adaptiveCard = CardFactory.adaptiveCard(card);
return {
task: {
type: 'continue',
value: {
card: adaptiveCard
}
}
私は、抽出されたメッセージテキストをtype: 'Input.Text'
ユーザーがモールス符号化するテキストを編集できるように!フルコードを表示するには、ボットを参照してください.GlitchのコードサンプルのJSファイル.
📮 ユーザー投稿の取り扱い
ユーザがタスクモジュールを送信すると、
handleTeamsMessagingExtensionSubmitAction
あなたのWebサービスは、コマンドIDとパラメータ値を設定してオブジェクトを受け取ります.このサンプルコードでは、カスタムデータをチェックするだけです.
editedMessage
あります.そして、もしそうならば、値(グラブでなければならない)をつかみ、それを変えて、新しいメッセージとして構成される内容を表示してください.async handleTeamsMessagingExtensionSubmitAction(context, action) {
if(action.data.editedMessage) {
const text = action.data.editedMessage;
const morseText = await encodeToMorse(text);
return {
composeExtension: {
type: 'result',
attachmentLayout: 'list',
attachments: [
// The message UI component here
// Please refer to the sample code on Glitch to see the entire code
]
}
}
}
}
BOTで示したコードサンプルで.私はシンプルなUIの“カード”を使用しているThumbnail Card それは結果のメッセージを作成するボットフレームワークが付属しても、適応カードを使用することができます!🤖💬 メッセージアクション
さて、アクションを試してみましょう!チームのクライアントに移動し、テキストメッセージのいずれかをクリックします.
すべてが期待通りに動作する場合は、モールス符号に任意のテキストメッセージを変換することができます!
私はあなたがこのチュートリアルを使用してマイクロソフトチームのプラットフォームで何ができるかについていくつかの良いアイデアを得ることを願って、私はあなたがこれより良いユースケースを見つけて、何か素晴らしいものを作成願っています!
次のチュートリアルでは、検索コマンドである別の種類のメッセージング拡張モジュールを構築する方法を説明します.また会いましょう👋
Reference
この問題について(初心者ガイドMSチームの開発), 我々は、より多くの情報をここで見つけました https://dev.to/azure/beginners-guide-to-ms-teams-development-3-messaging-action-5ejcテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol