Z tego artykułu dowiesz się, jak skonfigurować polecenia i na nie odpowiadać jako aplikacja Google Chat.
Polecenia pomagają użytkownikom odkrywać i używać najważniejszych funkcji aplikacji do obsługi czatu. Tylko aplikacje do obsługi czatu mogą wyświetlać treść polecenia. Jeśli na przykład użytkownik wyśle wiadomość z poleceniem z ukośnikiem, będzie ona widoczna tylko dla niego i aplikacji do czatu.
Aby zdecydować, czy warto tworzyć polecenia, i dowiedzieć się, jak projektować interakcje użytkowników, zapoznaj się z artykułem Określanie wszystkich ścieżek użytkownika.
Typy poleceń aplikacji Chat
Polecenia aplikacji do obsługi czatu możesz tworzyć jako polecenia po ukośniku, szybkie polecenia lub działania dotyczące wiadomości. Aby użyć każdego typu polecenia, użytkownicy mogą wykonać te czynności:-
Polecenia po ukośniku: użytkownicy mogą wybrać polecenie po ukośniku z menu lub wpisać ukośnik (
/), a następnie zdefiniowany tekst, np./about. Aplikacje do obsługi czatu zwykle wymagają tekstu argumentu dla polecenia po ukośniku.Utwórz polecenie po ukośniku, jeśli aplikacja w Google Chat wymaga dodatkowych danych wejściowych od użytkownika. Możesz na przykład utworzyć polecenie po ukośniku o nazwie
/search, które będzie uruchamiane po wpisaniu przez użytkownika frazy do wyszukania, np./search receipts. -
Szybkie polecenia: użytkownicy mogą używać poleceń, otwierając menu w obszarze odpowiedzi wiadomości na czacie. Aby użyć polecenia, klikają Dodaj
i wybierają polecenie z menu.
Utwórz szybkie polecenie, jeśli aplikacja do czatu może od razu odpowiedzieć użytkownikowi bez czekania na dodatkowe dane wejściowe. Możesz na przykład utworzyć szybkie polecenie o nazwie Losowy obraz, które od razu odpowie obrazem.
-
Działania związane z wiadomościami: ( wersja przedpremierowa dla programistów) Aby skorzystać z działań związanych z wiadomościami, użytkownicy najeżdżają kursorem na wiadomość i klikają menu z 3 kropkami. Aby użyć polecenia, otwórz menu z 3 kropkami i wybierz polecenie z menu.
Utwórz działanie dotyczące wiadomości, jeśli aplikacja do obsługi czatu może wykonywać działania na podstawie kontekstu wiadomości.
Poniższe obrazy pokazują, jak użytkownicy odkrywają menu poleceń po ukośniku i szybkich oraz działań związanych z wiadomościami:
Wymagania wstępne
HTTP
Dodatek do Google Workspace, który rozszerza Google Chat. Aby go utworzyć, wykonaj czynności opisane w tym przewodniku Szybki start dotyczącym HTTP.
Google Apps Script
Dodatek do Google Workspace, który rozszerza Google Chat. Aby utworzyć taki skrypt, wykonaj czynności opisane w krótkim przewodniku po Apps Script.
Konfigurowanie polecenia
Z tej sekcji dowiesz się, jak wykonać te czynności, aby skonfigurować polecenie:
- Utwórz nazwę i opis polecenia.
- Skonfiguruj polecenie w konsoli Google Cloud.
Nazwij i opisz polecenie
Nazwa polecenia to tekst, który użytkownicy wpisują lub wybierają, aby wywołać aplikację do obsługi czatu. Pod nazwą wyświetla się też krótki opis, który podpowiada użytkownikom, jak używać polecenia:
Wybierając nazwę i opis polecenia, weź pod uwagę te zalecenia:
Aby nazwać polecenie:
- Używaj krótkich, opisowych i zachęcających do działania słów lub zwrotów, aby polecenia były zrozumiałe dla użytkownika. Na przykład zamiast nazwy
Create a reminderużyjRemind me. - Użyj unikalnej lub powszechnie znanej nazwy polecenia. Jeśli polecenie opisuje typową interakcję lub funkcję, możesz użyć powszechnie znanej nazwy, której użytkownicy oczekują, np.
SettingslubFeedback. W przeciwnym razie staraj się używać unikalnych nazw poleceń, ponieważ jeśli nazwa polecenia jest taka sama w przypadku innych aplikacji do obsługi czatu, użytkownik musi filtrować podobne polecenia, aby znaleźć i użyć Twojego.
Aby opisać polecenie:
- Opis powinien być krótki i jasny, aby użytkownicy wiedzieli, czego mogą się spodziewać po użyciu polecenia.
- Poinformuj użytkowników, czy polecenie ma jakieś wymagania dotyczące formatowania. Jeśli na przykład utworzysz polecenie po ukośniku, które wymaga tekstu argumentu, ustaw opis na coś w rodzaju
Remind me to do [something] at [time]. - Poinformuj użytkowników, czy aplikacja na czacie odpowiada wszystkim osobom w pokoju, czy
prywatnie użytkownikowi, który wywołał polecenie. Na przykład szybkie polecenie
Aboutmożesz opisać jakoLearn about this app (Only visible to you).
Konfigurowanie polecenia w konsoli Google Cloud
Aby utworzyć polecenie po ukośniku, szybkie polecenie lub działanie związane z wiadomością, musisz podać informacje o poleceniu lub działaniu w konfiguracji aplikacji do obsługi czatu dla interfejsu Google Chat API.
Aby skonfigurować polecenie w Google Chat API, wykonaj te czynności:
W konsoli Google Cloud kliknij Menu > Interfejsy API i usługi > Włączone interfejsy API i usługi > Google Chat API.
Kliknij Konfiguracja.
W sekcji Ustawienia połączenia otwórz Aktywatory i podaj szczegóły punktu końcowego. W następnej sekcji musisz użyć tego aktywatora, aby odpowiedzieć na polecenie.
- URL punktu końcowego HTTP: możesz tu określić jeden wspólny adres URL punktu końcowego HTTP. Jeśli chcesz używać różnych punktów końcowych HTTP dla różnych aktywatorów, określ punkt końcowy bezpośrednio w polu Polecenie aplikacji.
- Apps Script: wpisz identyfikator wdrożenia Apps Script. Domyślnie wywoływana jest funkcja
onAppCommand. Aby użyć innej funkcji Apps Script, w polu Polecenie aplikacji wpisz nazwę funkcji niestandardowej.
W sekcji Polecenia kliknij Dodaj polecenie.
Podaj te informacje o poleceniu:
- Identyfikator polecenia: liczba z zakresu od 1 do 1000, której aplikacja do obsługi czatu używa do rozpoznawania polecenia i zwracania odpowiedzi.
- Opis: tekst opisujący sposób używania i formatowania polecenia. Opis może zawierać maksymalnie 50 znaków.
- Typ polecenia: wybierz Szybkie polecenie, Polecenie po ukośniku lub Działanie w wiadomości.
- Wpisz nazwę polecenia:
- Nazwa szybkiego polecenia: nazwa wyświetlana, którą użytkownicy wybierają z menu, aby wywołać polecenie. Może zawierać do 50 znaków, w tym znaki specjalne. Na przykład:
Remind me. - Nazwa polecenia po ukośniku: tekst, który użytkownicy wpisują, aby wywołać polecenie w wiadomości. Musi zaczynać się od ukośnika, zawierać tylko tekst i może mieć maksymalnie 50 znaków. Na przykład:
/remindMe. - Nazwa działania wiadomości:
( wersja przedpremierowa dla programistów)
Wyświetlana nazwa, którą użytkownicy wybierają z menu, aby wywołać działanie wiadomości. Może zawierać do 50 znaków, w tym znaki specjalne. Na przykład:
Remind me.
- Nazwa szybkiego polecenia: nazwa wyświetlana, którą użytkownicy wybierają z menu, aby wywołać polecenie. Może zawierać do 50 znaków, w tym znaki specjalne. Na przykład:
Opcjonalnie: Komunikat powiadomienia o wczytywaniu:( wersja przedpremierowa dla programistów) komunikat powiadomienia w formie wyskakującego okienka, który będzie wyświetlany użytkownikowi podczas wykonywania działania związanego z wiadomością. Dostępne tylko w przypadku działań związanych z wiadomościami, które nie otwierają okien.
Opcjonalnie: jeśli chcesz, aby aplikacja Google Chat odpowiadała na polecenie za pomocą okna, zaznacz pole wyboru Otwórz okno.
Kliknij Zapisz.
Polecenie jest teraz skonfigurowane dla aplikacji Google Chat.
Odpowiadanie na polecenie
Gdy użytkownicy używają polecenia, aplikacja do obsługi czatu otrzymuje obiekt zdarzenia.
Ładunek zdarzenia zawiera obiekt appCommandPayload z informacjami o wywołanym poleceniu (w tym identyfikator i typ polecenia), dzięki czemu możesz zwrócić odpowiednią odpowiedź.
Obiekt zdarzenia jest wysyłany do punktu końcowego HTTP lub funkcji Apps Script, które zostały określone podczas konfigurowania wyzwalacza Polecenie aplikacji.
/help, aby wyjaśnić, jak uzyskać pomoc.Poniższy kod pokazuje przykład aplikacji do Google Chat, która odpowiada na polecenie po ukośniku /about wiadomością tekstową. Aby odpowiadać na polecenia po ukośniku, aplikacja do obsługi czatu przetwarza obiekty zdarzeń z aktywatora Polecenie aplikacji. Gdy ładunek obiektu zdarzenia zawiera identyfikator polecenia z ukośnikiem, aplikacja w Chat zwraca działanie DataActions z obiektem createMessageAction:
Node.js
Python
Java
Google Apps Script
Aby użyć tego przykładowego kodu, zastąp ABOUT_COMMAND_ID identyfikatorem polecenia, który został podany podczas konfigurowania polecenia w interfejsie Chat API.
Odpowiadanie na działanie związane z wiadomością
Poniższy kod pokazuje przykład aplikacji w Google Chat, która odpowiada na działanie Przypomnij mi wiadomością tekstową. Aby odpowiadać na działania związane z wiadomościami, aplikacja do obsługi czatu przetwarza obiekty zdarzeń z reguły Polecenie aplikacji. Gdy ładunek obiektu zdarzenia zawiera identyfikator polecenia działania wiadomości, aplikacja do obsługi czatu zwraca działanieDataActions z obiektem createMessageAction:
Node.js
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @param {Object} res The HTTP response object.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event, res) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} =
event.chat.appCommandPayload.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.chat.appCommandPayload.message.text;
// Return a response that includes details from the original message.
return res.json({
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": {
"text": `Setting a reminder for message: "${messageText}"`
}
}
}
}
});
}
}
Python
def on_app_command(event):
"""Responds to an APP_COMMAND interaction event from Google Chat.
Args:
event (dict): The interaction event from Google Chat.
Returns:
dict: The JSON response message with a confirmation.
"""
# Collect the command ID and type from the event metadata.
payload = event.get('chat', {}).get('appCommandPayload', {})
metadata = payload.get('appCommandMetadata', {})
if metadata.get('appCommandType') == 'MESSAGE_ACTION' and \
metadata.get('appCommandId') == REMIND_ME_COMMAND_ID:
# Message actions can access the context of the message they were
# invoked on, such as the text or sender of that message.
message_text = payload.get('message', {}).get('text')
# Return a response that includes details from the original message.
return {
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": {
"text": f'Setting a reminder for message: "{message_text}"'
}
}
}
}
}
Java
/**
* Responds to an APP_COMMAND interaction event from Google Chat.
*
* @param event The interaction event from Google Chat.
* @param response The HTTP response object.
*/
void onAppCommand(JsonObject event, HttpResponse response) throws Exception {
// Collect the command ID and type from the event metadata.
JsonObject payload = event.getAsJsonObject("chat").getAsJsonObject("appCommandPayload");
JsonObject metadata = payload.getAsJsonObject("appCommandMetadata");
String appCommandType = metadata.get("appCommandType").getAsString();
if (appCommandType.equals("MESSAGE_ACTION")) {
int commandId = metadata.get("appCommandId").getAsInt();
if (commandId == REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
String messageText = payload.getAsJsonObject("message").get("text").getAsString();
// Return a response that includes details from the original message.
JsonObject responseMessage = new JsonObject();
responseMessage.addProperty("text", "Setting a reminder for message: " + messageText);
JsonObject createMessageAction = new JsonObject();
createMessageAction.add("message", responseMessage);
JsonObject chatDataAction = new JsonObject();
chatDataAction.add("createMessageAction", createMessageAction);
JsonObject hostAppDataAction = new JsonObject();
hostAppDataAction.add("chatDataAction", chatDataAction);
JsonObject finalResponse = new JsonObject();
finalResponse.add("hostAppDataAction", hostAppDataAction);
response.getWriter().write(finalResponse.toString());
}
}
}
Google Apps Script
/**
* Responds to an APP_COMMAND interaction event in Google Chat.
*
* @param {Object} event The interaction event from Google Chat.
* @return {Object} The JSON response message with a confirmation.
*/
function onAppCommand(event) {
// Collect the command ID and type from the event metadata.
const {appCommandId, appCommandType} =
event.chat.appCommandPayload.appCommandMetadata;
if (appCommandType === 'MESSAGE_ACTION' &&
appCommandId === REMIND_ME_COMMAND_ID) {
// Message actions can access the context of the message they were
// invoked on, such as the text or sender of that message.
const messageText = event.chat.appCommandPayload.message.text;
// Return a response that includes details from the original message.
return CardService.newChatResponseBuilder()
.setText("Setting a reminder for message: " + messageText)
.build();
}
}
Aby użyć tego przykładowego kodu, zastąp REMIND_ME_COMMAND_ID identyfikatorem polecenia, który został określony podczas konfigurowania polecenia w interfejsie Chat API.
Testowanie polecenia
Aby przetestować polecenie i kod, zapoznaj się z artykułem Testowanie funkcji interaktywnych aplikacji Google Chat.
Aby dowiedzieć się, jak przetestować i używać polecenia w interfejsie Chat, zapoznaj się z artykułem Korzystanie z aplikacji w Google Chat w dokumentacji pomocy Google Chat.
Powiązane artykuły
- Wyświetl przykłady aplikacji do Google Chat, które używają poleceń.
- Wyślij wiadomość
- Otwieranie interaktywnych okien