【问题标题】:Hangout bot how to @mention user in a card message环聊机器人如何在卡片消息中@提及用户
【发布时间】:2019-08-12 05:51:23
【问题描述】:

我创建了一个机器人,它应该通知组中的用户他们被分配到的任务。它适用于简单的消息,但一旦放入卡片消息就无法正常工作 - 我得到“---”或“???”而不是提及。我试图把它放在不同的小部件中:keyValue、textParagrap 或标题,但它不会改变任何东西。有谁知道这是否可能?

【问题讨论】:

    标签: google-apps-script hangout hangouts-chat google-chat


    【解决方案1】:

    您可以将简单的消息与卡片组合在一个帖子中以实现此目的。

    例如,以下 JSON 将在卡片上方的文本中显示带有 @all 的消息。如果您知道用户 id,您可以更改 <users/all> 以通知特定用户。

    {
      "cards": [
        {
          "sections": [
            {
              "widgets": [
                {
                  "keyValue": {
                    "content": "<pre>ls -l</pre>",
                    "contentMultiline": "true",
                    "icon": "DESCRIPTION",
                    "topLabel": "Executed Job"
                  }
                },
                {
                  "keyValue": {
                    "content": "<pre><font color=\"#006400\">passed</font></pre>",
                    "contentMultiline": "true",
                    "icon": "BOOKMARK",
                    "topLabel": "Status"
                  }
                },
                {
                  "keyValue": {
                    "content": "<pre>5 milliseconds</pre>",
                    "contentMultiline": "true",
                    "icon": "CLOCK",
                    "topLabel": "Elapsed"
                  }
                }
              ]
            }
          ]
        }
      ],
      "text": "<users/all> : Job `ls -l` *passed*"
    }
    

    【讨论】:

      【解决方案2】:

      对 API 描述的审查应该已经证实了您的怀疑 - 目前,您不能通过卡片消息提及用户,只能通过简单消息提及。

      Card Text Formatting:

      在卡片内部,大多数文本字段通过一小部分 HTML 标记支持基本文本格式。

      请注意,基本消息的文本正文是使用不同的标记语法解析的

      关于简单消息的消息格式的 API 参考页面明确指出了如何在简单消息中提及用户(12

      查看spaces.messagescards 的API 描述时出现另一个提示:与Message 关联的元数据包括Annotations,其中包括UserMentionMetadata
      如果查看Card 的规范,则不会观察到这样的规范。 text widget 的描述仅包含格式化文本。

      因此,如果您需要通知特定用户卡片的内容,您应该将卡片直接发送给用户,或者在卡片发送之前或之后立即在简单消息中提及用户。

      【讨论】:

        猜你喜欢
        • 2019-01-07
        • 2016-10-16
        • 1970-01-01
        • 2022-08-23
        • 2021-07-02
        • 1970-01-01
        • 2011-11-16
        • 1970-01-01
        • 2018-04-04
        相关资源
        最近更新 更多