Odpowiadanie na polecenia po ukośniku jako aplikacja Google Chat

Na tej stronie dowiesz się, jak skonfigurować polecenia po ukośniku w aplikacji Google Chat.

Polecenie ukośnika jest typowym sposobem wywoływania przez użytkowników polecenia i wchodzenia z nim w interakcję aplikacja Google Chat. Polecenia po ukośniku pomagają też użytkownikom korzystać z najważniejszych funkcji aplikacji Google Chat.

Aby użyć polecenia po ukośniku, użytkownik wpisze ukośnik (/), a następnie krótkie polecenie tekstowe. np. /about, aby uzyskać informacje o aplikacji Google Chat. Użytkownicy mogą wyświetlić dostępne polecenia po ukośniku, wpisując ukośnik w Google Chat, gdzie wyświetlane jest okno z listą dostępnych poleceń dla Aplikacja do obsługi czatu:

Okno polecenia po ukośniku
Rysunek 1. Okno wyświetlane po wpisaniu przez użytkownika ukośnika w Google Chat.

Aby zdecydować, czy warto skonfigurować polecenia po ukośniku, i dowiedzieć się, jak projektować interakcje użytkowników, zobaczyć Definiowanie wszystkich ścieżek użytkowników

Polecenia po ukośniku z prywatnymi odpowiedziami

Gdy użytkownik wysyła wiadomość zawierającą polecenie po ukośniku, jest ona widoczne dla użytkownika i aplikacji Google Chat. Jeśli skonfigurowano aplikację Google Chat tak, aby była dodawana do pokoi z wieloma osobami możesz odpowiedzieć na polecenie po ukośniku, aby zachować prywatność interakcji między użytkownikiem a aplikacja Google Chat.

Aby na przykład dowiedzieć się więcej o aplikacji do obsługi czatu, do odkrywania w pokoju, użytkownicy mogą używać poleceń takich jak /about lub /help. Aby uniknąć powiadomienia pozostałych osób w pokoju, funkcja Aplikacja do obsługi czatu może prywatnie odpowiedzieć, podając informacje o jak używać aplikacji Google Chat i uzyskać pomoc.

Wymagania wstępne

Node.js

Aplikacja Google Chat, w której można korzystać z funkcji interaktywnych. Aby utworzyć interaktywna aplikacja do obsługi czatu przy użyciu usługi HTTP zapoznaj się z tym krótkim wprowadzeniem.

Google Apps Script

Aplikacja Google Chat, w której można korzystać z funkcji interaktywnych. Aby utworzyć z interaktywną aplikacją Google Chat w Apps Script, zapoznaj się z tym krótkim wprowadzeniem.

Python

Aplikacja Google Chat, w której można korzystać z funkcji interaktywnych. Aby utworzyć interaktywna aplikacja do obsługi czatu przy użyciu usługi HTTP zapoznaj się z tym krótkim wprowadzeniem.

Skonfiguruj polecenie po ukośniku

W tej sekcji opisano, jak skonfigurować ukośnik: polecenie:

  1. Utwórz nazwę polecenia po ukośniku.
  2. Skonfiguruj polecenie po ukośniku w interfejsie Google Chat API.

Nazwij polecenie po ukośniku

Nazwa polecenia po ukośniku to nazwa, którą użytkownicy wpisują w wiadomości w Google Chat aby wywołać aplikację Google Chat. Dodatkowo krótki opis jest wyświetlane pod nazwą, aby poinformować użytkowników o sposobie użycia polecenia:

Nazwa i opis polecenia po ukośniku
Rysunek 2. Nazwa i opis polecenia po ukośniku.

Wybierając nazwę i opis polecenia po ukośniku, weź pod uwagę następujące zalecenia:

  • Aby nazwać polecenie po ukośniku:

    • Używaj krótkich, opisowych i praktycznych słów lub wyrażeń, jest zrozumiałe i proste w użyciu. Na przykład zamiast mówić /createAReminder, użyj formy płatności /remindMe.
    • Jeśli polecenie zawiera więcej niż 1 słowo, pomóż użytkownikom przeczytać polecenie używając wyłącznie małych liter w pierwszym słowie, a następnie wielką literą dodatkowych słów. Na przykład zamiast /updatecontact, użyj metody /updateContact.
    • Zastanów się, czy w poleceniu użyć unikalnej czy potocznej nazwy. Jeśli to polecenie opisuje typową interakcję lub funkcję, powszechna nazwa rozpoznawalna i oczekiwana przez użytkowników, taka jak /settingslub /feedback W przeciwnym razie używaj unikalnych nazw poleceń, ponieważ jeśli jest taka sama jak w innych aplikacjach do obsługi czatu, użytkownik musi przefiltruj podobne polecenia, aby znaleźć Twoje.
  • Aby opisać polecenie po ukośniku:

    • Opis powinien być krótki i jasny, aby użytkownicy wiedzieli, czego mogą się spodziewać podczas wywoływania polecenia.
    • Powiadom użytkowników, jeśli istnieją wymagania dotyczące formatowania polecenia. Jeśli na przykład utworzysz polecenie /remindMe, które wymaga argumentu tekst, ustaw opis na około Remind me to do [something] at [time].
    • Poinformuj użytkowników, czy aplikacja Google Chat odpowiada na wszystkim w pokoju lub prywatnie użytkownikowi, który wywołał polecenie. Na przykład polecenie po ukośniku /about możesz opisać tak Learn about this app (Only visible to you) Aby odpowiedzieć prywatnie na Więcej informacji znajdziesz w sekcji Odpowiedz wiadomością prywatną.

Skonfiguruj polecenie po ukośniku w interfejsie Google Chat API

Aby utworzyć polecenie po ukośniku, podaj informacje o nim w konfigurację aplikacji Google Chat pod kątem interfejsu Google Chat API.

Aby skonfigurować polecenie po ukośniku w interfejsie Google Chat API, wykonaj te czynności kroki:

  1. W konsoli Google Cloud kliknij Menu. > Interfejsy API i Usługi > Włączone interfejsy API i Usługi > Google Chat API

    Otwórz stronę interfejsu Google Chat API

  2. Kliknij Konfiguracja.

  3. W sekcji Polecenia po ukośniku kliknij Dodaj polecenie po ukośniku.

  4. Wpisz nazwę, identyfikator polecenia i opis:

    1. Nazwa:wyświetlana nazwa polecenia i tekst wpisywany przez użytkownika. aby wywołać aplikację. Musi zaczynać się od ukośnika, zawierać tylko tekst i może może mieć maksymalnie 50 znaków.
    2. Opis: tekst opisujący sposób użycia i formatowania . Opis może mieć maksymalnie 50 znaków.
    3. Identyfikator polecenia: liczba od 1 do 1000, Aplikacja do obsługi czatu rozpoznaje polecenie po ukośniku i zwrócić odpowiedź.
  5. Opcjonalnie: jeśli chcesz, aby aplikacja Google Chat odpowiadała z oknem, wybierz Pole wyboru Otwórz okno.

  6. Kliknij Zapisz.

Polecenie po ukośniku zostało skonfigurowane w aplikacji Google Chat.

Odpowiadanie na polecenie po ukośniku

Gdy użytkownicy utworzą wiadomość w Google Chat zawierającą polecenie po ukośniku, Twoja aplikacja Google Chat odebrała zdarzenie interakcji MESSAGE. Ładunek zdarzenia zawiera slashCommand. i slashCommandMetadata obiektów. Te obiekty zawierają szczegółowe informacje o poleceniu użytym w wiadomości (łącznie z identyfikatorem polecenia), by umożliwić zwrócenie odpowiedniej odpowiedzi.

Prywatna wiadomość dla
  Cymbal Labs Labs. Komunikat informuje, że
  Aplikacja do obsługi czatu została utworzona przez Cymbal Labs i udostępnia link
  do dokumentacji i linku do kontaktu z zespołem pomocy.
Aplikacja Google Chat odpowiada prywatnie na po ukośniku /help wyjaśnia, jak uzyskać pomoc.

Poniżej znajduje się przykładowy kod aplikacji Google Chat. która odpowiada na polecenie po ukośniku /help przez obsługę MESSAGE zdarzenia interakcji i wykrywanie czy wiadomość zawiera odpowiedni identyfikator polecenia. Jeśli wiadomość zawiera ciąg identyfikator polecenia, aplikacja Google Chat zwróci wiadomość prywatną, , w którym dowiesz się, jak uzyskać pomoc:

Node.js

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {!Object} req Request sent from Google Chat app
* @param {!Object} res Response to send back
*
* @return {!Object} respond to slash command
*/
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    return res.send('Hello! This function is meant to be used in Google Chat app.');
  }

  const event = req.body;

  // Checks for the presence of event.message.slashCommand.
  // If the slash command is "/help", responds with a private text message.
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 'ID': // The ID for your slash command
        return res.json({
          privateMessageViewer: event.user, // Optional. Responds privately to the slash command.
          text: 'This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>.'
        });
    }
  }

  // If the Chat app doesn't detect a slash command, it responds
  // with a private text message
  return res.json({
    privateMessageViewer: event.user,
    text: 'Try a slash command.'
  });
};

Google Apps Script

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case ID: // The ID for your slash command
        return {
          "privateMessageViewer": event.user, // Optional. Responds privately to the slash command.
          "text": "This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>."
        };
    }
  }
  else {
    return { "text": "Try a slash command.", "privateMessageViewer": event.user };
  }
}

Python

from typing import Any, Mapping

import flask
import functions_framework

@functions_framework.http
def main(req: flask.Request) -> Mapping[str, Any]:
  """Responds to a MESSAGE event in Google Chat.

  Args:
      req (flask.Request): the event object from Chat API.

  Returns:
      Mapping[str, Any]: open a Dialog in response to a card's button click.
  """
  if req.method == 'GET':
    return 'Hello! This function must be called from Google Chat.'

  request = req.get_json(silent=True)

  # Checks for the presence of event.message.slashCommand.
  # If the slash command is "/help", responds with a private text message.
  if request.get('message', {}).get('slashCommand'):
    command_id = request.get('message', {}).get('slashCommand').get('commandId')
    if command_id == 'ID': # The ID for your slash command
      return {
          'privateMessageViewer': request.get('user'),
          'text': (
              'This Chat app was created by Cymbal Labs. To get help with this'
              ' app, <https://cymbalgroup.com/docs|see our documentation> or'
              ' <https://cymbalgroup.com/support|contact our support team>.'
          ),
      }

  return {
      'privateMessageViewer': request.get('user'), # Optional. Responds privately to the slash command.
      'text': 'Try a slash command.',
  }

Zastąp ID identyfikatorem polecenia określonego podczas skonfigurował polecenie po ukośniku w interfejsie Chat API. Aby przetestować ten kod, zobacz Testowanie funkcji interaktywnych w aplikacjach Google Chat