Google Chat kullanıcılarına özel mesaj gönderme

Bu sayfada, Google Chat uygulaması.

Özel mesaj yalnızca belirli bir Chat kullanıcısına görünür. Özel iletileri şurada kullanabilirsiniz: özel olarak etkileşimde bulunabilecekleri, çok sayıda kullanıcının bulunduğu alanlar Sohbet uygulamaları. Örneğin, Chat uygulaması, aşağıdakileri yapmak için gizli olarak mesaj gönderebilir. takip etmek için:

  • Eğik çizgi komutuna yanıt verin. Örneğin, Kullanıcı, Chat uygulamanızın /about eğik çizgisini çağırdığında komutuna yerleştirirseniz Chat uygulamanız Chat uygulamanızın ne yaptığını açıklayan ve nasıl kullanılacağını inceleyeceğiz.
  • Tek bir kullanıcıyla alakalı bilgileri bildirin veya gönderin. Örneğin, örneğin, bir kullanıcıya kendisine bir görev atandığını bildirebilir veya görevi tamamlamaktır.
  • Hata mesajı gönderin. Örneğin, bir kullanıcı gerekli bağımsız değişken metnini atlarsa eğik çizgi komutu için Chat uygulaması bir özel mesaj gönderebilir ve kullanıcının komutu biçimlendirmesine yardımcı olabilirsiniz.
  • Şu alana eklenen kullanıcılara özel karşılama mesajı gönderin: .

Bir Chat uygulaması özel mesaj gönderdiğinde kullanıcıya iletinin yalnızca kendisi tarafından görülebildiğini bildiren bir etiket gösterir:

Şu kullanıcı için özel mesaj:
  Cymbal Labs Chat uygulaması. Mesajda,
  Chat uygulaması, Cymbal Labs tarafından oluşturulmuştur ve bağlantısı paylaşmaktadır
  ve destek ekibiyle iletişim kurmak için kullanabileceğiniz bir bağlantı içerir.
Şekil 1: Bir Chat uygulaması kullanıcı etiketli bir ileti görürse Only visible to you yazıyor.

Ön koşullar

Node.js

Python

Apps Komut Dosyası

Özel ileti gönderme

Chat uygulaması olarak gizli olarak mesaj göndermek için aşağıdakileri belirtmeniz gerekir: "the" privateMessageViewer alan adını da ekleyebilirsiniz. Özel iletileri de Kullanıcı etkileşimine yanıt vererek veya Google Chat API'yi eşzamansız olarak çağırmak create() yöntemini Message kaynak. Kısa mesaj veya kart mesajı gönderme adımları için bkz. Mesaj gönderin.

Aşağıdaki örnekte, Hello private world!:

{
    "text": "Hello private world!",
    "privateMessageViewer": "USER"
}

Bu örnekte USER, Chat kullanıcısını temsil eder iletiyi görüntüleyebilecek kişiler için User kaynak. Bir soruya yanıt vermek etkileşim etkinliğindeki User nesnesini belirtebilirsiniz. Örnek için aşağıdaki bölüme Eğik çizgi komutuna özel olarak yanıt verin.

Aksi takdirde, özel ileti için görüntüleyiciyi belirtmek üzere User öğesinin name alanı kaynak:

{
    "text": "Hello private world!",
    "privateMessageViewer": {
      "name": "users/USER_ID"
    }
}

Bu örnekte, izleyicinin User değerini belirtmek için name alanını kullanıyorsunuz. Google Chat'teki kaynak adı. USER_ID adlı cihazı değiştirin benzersiz bir kimlikle (ör. 12345678987654321 veya hao@cymbalgroup.com.

Kullanıcıları belirtme hakkında daha fazla bilgi edinmek için bkz. Google Chat kullanıcılarını belirleyin ve belirtin.

Eğik çizgi komutuna özel olarak yanıt verme

Aşağıdaki kodda bir Chat uygulaması örneği gösterilmektedir eğik çizgi komutuna özel mesajla yanıt veren bir kod içerir.

Chat uygulaması, MESSAGE etkileşim etkinliği ve /help eğik çizgi komutuna şu özel kısa mesajla yanıt verir: nasıl kullanılacağını açıklar:

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 '1':  // /help
        return res.json({
          privateMessageViewer: event.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>.'
        });
    }
  }

  // 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.'
  });
};

Apps Komut Dosyası

/**
* 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 1: // Responds to /help
        return {
          "privateMessageViewer": event.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>."
        };
    }
  }
  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 == '1':  # /help
      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'),
      'text': 'Try a slash command.',
  }

Sınırlamalar

Özel ileti göndermek için iletide takip etmek için:

  • Ekler.
  • Aksesuar işlemleri.
  • Kısmen özel mesajlar. Örneğin, bir Chat uygulaması hem metin hem de metin içeren bir mesaj gönderilemez. Ancak kart, alandaki herkes tarafından görülebilir.
  • Kullanıcı kimlik doğrulaması. Yalnızca Chat uygulamaları özel mesaj gönderebilir. Bu nedenle Chat uygulaması, gizli olarak da gönderebilirsiniz.

Özel mesajları güncelleme veya silme

Google Chat mesajlarını güncellemek veya silmek için şu numarayı arayın: Chat API'ye gidin. Özel mesajın görüntüleyicisini değiştiremez veya herkese açık hale getirir. Bu nedenle, özel mesajları güncellerken API çağrısındaki privateMessageViewer alanına (bu alan yalnızca çıkış şeklindedir).

Özel mesajı güncellemek için bkz. Mesajları güncelleme Özel iletiyi silmek için bkz. İletiyi silme