Google Chat アプリとしてスラッシュ コマンドに応答する

このページでは、 Google Chat アプリ。

スラッシュ コマンドは、ユーザーがコマンドラインで Chat アプリ。スラッシュ コマンドを使用すると、 Chat 用アプリの主な機能を使用する。

スラッシュ コマンドを使用するには、スラッシュ(/)を入力してから短いテキスト コマンドを入力します。 たとえば、/about を使用して、Chat 用アプリに関する情報を取得できます。 「/」を入力すると、使用可能なスラッシュ コマンドを見つけることができます。 使用可能なコマンドのリストがウィンドウに表示されます。 Chat アプリ:

<ph type="x-smartling-placeholder">
</ph> スラッシュ コマンド ウィンドウ
図 1: ユーザーが Google Chat にスラッシュを入力すると表示されるウィンドウ。

スラッシュ コマンドを設定するかどうかの判断方法と、 ユーザー操作の設計について詳しくは、以下をご覧ください。 すべてのユーザー ジャーニーを定義する

返信を非公開にするスラッシュ コマンド

ユーザーがスラッシュ コマンドを含むメッセージを送信した場合、 ユーザーと Chat アプリに公開されます。条件 Chat 用アプリがスペースに追加されるよう スラッシュ コマンドに返信することも、 やり取りのプライバシーを守るため、プライバシーを守りながら、 Chat アプリ。

たとえば、Google Chat アプリについて、 検索するには、/about/help などのコマンドを使用できます。 スペースの他のメンバーには通知しないようにするため、 Chat アプリは、非公開で以下の情報を使用して回答できます。 サポートを受ける方法を学びます。

前提条件

Node.js

インタラクティブ機能を有効にする Google Chat アプリ。新しい HTTP サービスを使用したインタラクティブな Chat アプリについては、こちらのクイックスタートを完了します。

Apps Script

インタラクティブ機能を有効にする Google Chat アプリ。新しい インタラクティブな Chat アプリを使用するには、こちらのクイックスタートを完了してください。

Python

インタラクティブ機能を有効にする Google Chat アプリ。新しい HTTP サービスを使用したインタラクティブな Chat アプリについては、こちらのクイックスタートを完了します。

Java

インタラクティブ機能を有効にする Google Chat アプリ。新しい HTTP サービスを使用したインタラクティブな Chat アプリについては、こちらのクイックスタートを完了します。

スラッシュ コマンドを設定する

このセクションでは、次の手順でスラッシュを設定する方法について説明します。 command:

  1. スラッシュ コマンドの名前を作成します。
  2. Google Chat API でスラッシュ コマンドを構成します。

スラッシュ コマンドに名前を付ける

スラッシュ コマンドの名前は、ユーザーが Chat メッセージに入力する Chat 用アプリを呼び出すことができます。簡単な説明も が名前の下に表示され、コマンドの使用方法の詳細をユーザーに促すことができます。

<ph type="x-smartling-placeholder">
</ph> スラッシュ コマンドの名前と説明
図 2: スラッシュ コマンドの名前と説明

スラッシュ コマンドの名前と説明を選択する場合は、 次の推奨事項に従ってください。

  • スラッシュ コマンドに名前を付けるには:

    • 簡潔でわかりやすく、実用的な単語やフレーズを使用して、 明確でシンプルなものにします。たとえば、 /createAReminder/remindMe を使用します。
    • コマンドに複数の単語が含まれている場合は、ユーザーがコマンドを読んで理解できるようサポートします。 最初の単語にはすべて小文字を使用し、最初の単語は大文字にします。 追加単語の文字。たとえば、/updatecontact ではなく、 /updateContact を使用します。
    • コマンドに一意の名前と共通名のどちらを使用するかを検討してください。条件 一般的な操作や機能が説明されている場合、 ユーザーが認識して想定している一般的な名前(/settings/feedback。それ以外の場合は、一意のコマンド名を使用するようにしてください。 コマンド名が同じである場合、ユーザーは 同様のコマンドでフィルタし、自分のコマンドを見つけて使用します。
  • スラッシュ コマンドの説明を取得するには:

    • 説明は簡潔でわかりやすく、何をしようとしているのかがユーザーにわかるようにする 実行されるようにします。
    • コマンドのフォーマット要件がある場合は、ユーザーにその旨を伝えます。 たとえば、引数を必要とする /remindMe コマンドを作成する場合 説明を Remind me to do [something] at [time] などに設定してください。
    • Chat 用アプリから コマンドを呼び出すユーザーに限定公開できます。 たとえば、スラッシュ コマンド /about の場合は、次のように記述できます。 Learn about this app (Only visible to you)。コメントに非公開で返信するには、 スラッシュ コマンドについて詳しくは、プライベート メッセージで応答するをご覧ください。

Google Chat API でスラッシュ コマンドを構成する

スラッシュ コマンドを作成するには、コマンドに関する情報を Chat 用アプリの Google Chat API の構成。

Google Chat API でスラッシュ コマンドを構成する手順は次のとおりです。 手順:

  1. Google Cloud コンソールで、メニュー アイコン &gt; API とサービス &gt; 有効な API とサービス &gt; Google Chat API

    Google Chat API ページに移動

  2. [構成] をクリックします。

  3. [スラッシュ コマンド] で [スラッシュ コマンドを追加] をクリックします。

  4. コマンドの名前、コマンド ID、説明を入力します。

    1. 名前: コマンドの表示名とユーザーの入力 アプリを呼び出すことができますスラッシュで始まり、テキストのみを含む必要があります。また、 50 文字以内。
    2. 説明: 使用方法と書式設定を説明するテキスト 指定できます。説明文は半角 50 文字(全角 25 文字)以内で入力できます。
    3. コマンド ID: 使用している 1 ~ 1,000 の数値 Chat アプリはスラッシュ コマンドを認識するために使用する レスポンスが返されます。
  5. 省略可: Chat 用アプリが ダイアログ付きでコマンドを実行する場合は、 [ダイアログを開く] チェックボックスをオンにします。

  6. [保存] をクリックします。

これで、Chat 用アプリ用のスラッシュ コマンドが構成されました。

スラッシュ コマンドに応答する

<ph type="x-smartling-placeholder">

スラッシュ コマンドを含む Chat メッセージを作成すると、 Chat アプリが MESSAGE インタラクション イベントを受信します。 イベント ペイロードには slashCommand が含まれます。 および slashCommandMetadata 説明します。これらのオブジェクトには、メッセージで使用されたコマンドの詳細が含まれます。 (コマンド ID を含む)。これにより、適切なレスポンスを返すことができます。

<ph type="x-smartling-placeholder">
</ph> 宛ての非公開メッセージ:
  Cymbal Labs Chat アプリを使用してみます。このメッセージには、
  Cymbal Labs が作成した Chat アプリはリンクを共有しています
  ドキュメントとサポートチームへの問い合わせ用リンクを参照してください。
Chat アプリは、チャット メッセージに非公開で応答します。 スラッシュ コマンド /help を使用して、サポートの利用方法を説明します。

次のコードは、Chat 用アプリの例を示しています。 これは、/about スラッシュ コマンドに応答するために、 MESSAGE インタラクション イベントと検出 一致するコマンド ID がメッセージに含まれているかどうか。メッセージに コマンド ID を渡すと、Chat アプリからプライベート メッセージが返されます。

Node.js

node/avatar-app/index.js
// Checks for the presence of a slash command in the message.
if (event.message.slashCommand) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  switch (event.message.slashCommand.commandId) {
    case ABOUT_COMMAND_ID:
      return res.send({
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      });
  }
}

Apps Script

apps-script/avatar-app/avatar-app.gs
// Checks for the presence of a slash command in the message.
if (event.message.slashCommand) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  switch (event.message.slashCommand.commandId) {
    case ABOUT_COMMAND_ID:
      return {
        privateMessageViewer: event.user,
        text: 'The Avatar app replies to Google Chat messages.'
      };
  }
}

Python

python/avatar-app/main.py
# Checks for the presence of a slash command in the message.
if "slashCommand" in request_json["message"]:
  # Executes the slash command logic based on its ID.
  # Slash command IDs are set in the Google Chat API configuration.
  if request_json["message"]["slashCommand"]["commandId"] == ABOUT_COMMAND_ID:
    return {
      "privateMessageViewer": request_json["user"],
      "text": 'The Avatar app replies to Google Chat messages.'
    }

Java

java/avatar-app/src/main/java/App.java
// Checks for the presence of a slash command in the message.
if (body.getAsJsonObject("message").has("slashCommand")) {
  // Executes the slash command logic based on its ID.
  // Slash command IDs are set in the Google Chat API configuration.
  JsonObject slashCommand = body.getAsJsonObject("message").getAsJsonObject("slashCommand");
  switch (slashCommand.get("commandId").getAsString()) {
    case ABOUT_COMMAND_ID:
    JsonObject aboutMessage = new JsonObject();
    aboutMessage.addProperty("text", "The Avatar app replies to Google Chat messages.");
    aboutMessage.add("privateMessageViewer", body.getAsJsonObject("user"));
      response.getWriter().write(gson.toJson(aboutMessage));
      return;
  }
}

ABOUT_COMMAND_ID には、先ほど作成したコマンド ID を設定します。 サービス アカウントの作成時に Chat API でスラッシュ コマンドを構成している。 このコードをテストするには、以下をご覧ください。 Google Chat アプリのインタラクティブ機能をテストする