docs: update generated docs (#981)

diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html
index 5c77218..45a8ce7 100644
--- a/docs/dyn/chat_v1.spaces.messages.html
+++ b/docs/dyn/chat_v1.spaces.messages.html
@@ -75,6 +75,11 @@
 <h1><a href="chat_v1.html">Hangouts Chat API</a> . <a href="chat_v1.spaces.html">spaces</a> . <a href="chat_v1.spaces.messages.html">messages</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="chat_v1.spaces.messages.attachments.html">attachments()</a></code>
+</p>
+<p class="firstline">Returns the attachments Resource.</p>
+
+<p class="toc_element">
   <code><a href="#create">create(parent, body=None, threadKey=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Creates a message.</p>
 <p class="toc_element">
@@ -98,586 +103,9 @@
     The object takes the form of:
 
 { # A message in Hangouts Chat.
-  &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
-  &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
-      # cannot be displayed (e.g. mobile notifications).
-  &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
-      # posted.
-    &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-    &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
-  },
-  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
-      # server.
-  &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-    &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-    &quot;type&quot;: &quot;A String&quot;, # User type.
-    &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-  },
-  &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
-      # elements such as: formatted texts, buttons, clickable images. Cards are
-      # normally displayed below the plain-text body of the message.
-    { # A card is a UI element that can contain UI widgets such as texts, images.
-      &quot;name&quot;: &quot;A String&quot;, # Name of the card.
-      &quot;sections&quot;: [ # Sections are separated by a line divider.
-        { # A section contains a collection of widgets that are rendered
-            # (vertically) in the order that they are specified. Across all platforms,
-            # cards have a narrow fixed width, so
-            # there is currently no need for layout properties (e.g. float).
-          &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
-          &quot;widgets&quot;: [ # A section must contain at least 1 widget.
-            { # A widget is a UI element that presents texts, images, etc.
-              &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                &quot;text&quot;: &quot;A String&quot;,
-              },
-              &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                  # element may also contain some actions such as onclick button.
-                &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
-                &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                  },
-                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                        # API.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                        # Default value will be provided if developers don&#x27;t specify.
-                  },
-                },
-                &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
-                &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
-                &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
-                    # corresponding icon image.
-                &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
-                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                    # are clickable.
-                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                  },
-                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                      # For example, an Apps Script can be invoked to handle the form.
-                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                        # form submission. This information is echoed back to the bot as part of
-                        # the card click event. The same method name can be used for several
-                        # elements that trigger a common behavior if desired.
-                    &quot;parameters&quot;: [ # List of action parameters.
-                      { # List of string parameters to supply when the action method is invoked.
-                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                          # snooze next week. You might use action method = snooze(), passing the
-                          # snooze type and snooze time in the list of string parameters.
-                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                  },
-                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                      # For example, an Apps Script can be invoked to handle the form.
-                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                        # form submission. This information is echoed back to the bot as part of
-                        # the card click event. The same method name can be used for several
-                        # elements that trigger a common behavior if desired.
-                    &quot;parameters&quot;: [ # List of action parameters.
-                      { # List of string parameters to supply when the action method is invoked.
-                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                          # snooze next week. You might use action method = snooze(), passing the
-                          # snooze type and snooze time in the list of string parameters.
-                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                      },
-                    ],
-                  },
-                },
-                &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                    # to reserve the right height for the image while waiting for it to load.
-                    # It&#x27;s not meant to override the native aspect ratio of the image.
-                    # If unset, the server fills it by prefetching the image.
-                &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
-              },
-              &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
-                  # fields should be set.
-                { # A button. Can be a text button or an image button.
-                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                  },
-                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                        # API.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                        # Default value will be provided if developers don&#x27;t specify.
-                  },
-                },
-              ],
-            },
-          ],
-        },
-      ],
-      &quot;cardActions&quot;: [ # The actions of this card.
-        { # A card action is
-            # the action associated with the card. For an invoice card, a
-            # typical action would be: delete invoice, email invoice or open the
-            # invoice in browser.
-          &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
-            &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-              &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-            },
-            &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                # For example, an Apps Script can be invoked to handle the form.
-              &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                  # form submission. This information is echoed back to the bot as part of
-                  # the card click event. The same method name can be used for several
-                  # elements that trigger a common behavior if desired.
-              &quot;parameters&quot;: [ # List of action parameters.
-                { # List of string parameters to supply when the action method is invoked.
-                    # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                    # snooze next week. You might use action method = snooze(), passing the
-                    # snooze type and snooze time in the list of string parameters.
-                  &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                  &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                },
-              ],
-            },
-          },
-          &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
-        },
-      ],
-      &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
-        &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
-        &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
-            # title and subtitle is specified, each will take up 1 line. If only the
-            # title is specified, it will take up both lines.
-        &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
-        &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
-      },
-    },
-  ],
-  &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-  },
-  &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
-    { # Annotations associated with the plain-text body of the message.
-        #
-        # Example plain-text message body:
-        # ```
-        # Hello @FooBot how are you!&quot;
-        # ```
-        #
-        # The corresponding annotations metadata:
-        # ```
-        # &quot;annotations&quot;:[{
-        #   &quot;type&quot;:&quot;USER_MENTION&quot;,
-        #   &quot;startIndex&quot;:6,
-        #   &quot;length&quot;:7,
-        #   &quot;userMention&quot;: {
-        #     &quot;user&quot;: {
-        #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
-        #       &quot;displayName&quot;:&quot;FooBot&quot;,
-        #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
-        #       &quot;type&quot;:&quot;BOT&quot;
-        #     },
-        #     &quot;type&quot;:&quot;MENTION&quot;
-        #    }
-        # }]
-        # ```
-      &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
-        &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
-          &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-          &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-          &quot;type&quot;: &quot;A String&quot;, # User type.
-          &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-        },
-        &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
-      },
-      &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
-      &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
-          # corresponds to.
-      &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
-          # annotation corresponds to.
-    },
-  ],
-  &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
-      # 
-      # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-  &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
-      # user, but any links to images, web pages, videos, etc. included here will
-      # generate preview chips.
-  &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
-  &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
-    &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehYs
-    &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
-    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
-        # This is deprecated. Use `single_user_bot_dm` instead.
-    &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
-  },
-}
-
-  threadKey: string, Opaque thread identifier string that can be specified to group messages
-into a single thread. If this is the first message with a given thread
-identifier, a new thread is created. Subsequent messages with the same
-thread identifier will be posted into the same thread. This relieves bots
-and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post
-further updates to it.
-
-Has no effect if thread field,
-corresponding to an existing thread, is set in message.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A message in Hangouts Chat.
-    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
-    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
-        # cannot be displayed (e.g. mobile notifications).
-    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
-        # posted.
-      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
-    },
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
-        # server.
-    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-      &quot;type&quot;: &quot;A String&quot;, # User type.
-      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-    },
-    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
-        # elements such as: formatted texts, buttons, clickable images. Cards are
-        # normally displayed below the plain-text body of the message.
-      { # A card is a UI element that can contain UI widgets such as texts, images.
-        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
-        &quot;sections&quot;: [ # Sections are separated by a line divider.
-          { # A section contains a collection of widgets that are rendered
-              # (vertically) in the order that they are specified. Across all platforms,
-              # cards have a narrow fixed width, so
-              # there is currently no need for layout properties (e.g. float).
-            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
-            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
-              { # A widget is a UI element that presents texts, images, etc.
-                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                  &quot;text&quot;: &quot;A String&quot;,
-                },
-                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                    # element may also contain some actions such as onclick button.
-                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
-                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                    },
-                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don&#x27;t specify.
-                    },
-                  },
-                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
-                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
-                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
-                      # corresponding icon image.
-                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
-                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                      # are clickable.
-                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                    },
-                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      &quot;parameters&quot;: [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                    },
-                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      &quot;parameters&quot;: [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                      # to reserve the right height for the image while waiting for it to load.
-                      # It&#x27;s not meant to override the native aspect ratio of the image.
-                      # If unset, the server fills it by prefetching the image.
-                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
-                },
-                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
-                    # fields should be set.
-                  { # A button. Can be a text button or an image button.
-                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                    },
-                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don&#x27;t specify.
-                    },
-                  },
-                ],
-              },
-            ],
-          },
-        ],
-        &quot;cardActions&quot;: [ # The actions of this card.
-          { # A card action is
-              # the action associated with the card. For an invoice card, a
-              # typical action would be: delete invoice, email invoice or open the
-              # invoice in browser.
-            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
-              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-              },
-              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                  # For example, an Apps Script can be invoked to handle the form.
-                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                    # form submission. This information is echoed back to the bot as part of
-                    # the card click event. The same method name can be used for several
-                    # elements that trigger a common behavior if desired.
-                &quot;parameters&quot;: [ # List of action parameters.
-                  { # List of string parameters to supply when the action method is invoked.
-                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                      # snooze next week. You might use action method = snooze(), passing the
-                      # snooze type and snooze time in the list of string parameters.
-                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                  },
-                ],
-              },
-            },
-            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
-          },
-        ],
-        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
-          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
-          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
-              # title and subtitle is specified, each will take up 1 line. If only the
-              # title is specified, it will take up both lines.
-          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
-          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
-        },
-      },
-    ],
-    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
-          #
-          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-    },
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+        # 
+        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
     &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
       { # Annotations associated with the plain-text body of the message.
           #
@@ -703,40 +131,667 @@
           #    }
           # }]
           # ```
+        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+            # annotation corresponds to.
+        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+            # corresponds to.
         &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
           &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
             &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
             &quot;type&quot;: &quot;A String&quot;, # User type.
+            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
             &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
           },
           &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
         },
-        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
-        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
-            # corresponds to.
-        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
-            # annotation corresponds to.
       },
     ],
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+        # posted.
+      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+    },
+    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+      &quot;type&quot;: &quot;A String&quot;, # User type.
+      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+        # server.
+    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
     &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
         # user, but any links to images, web pages, videos, etc. included here will
         # generate preview chips.
-    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+    &quot;attachment&quot;: [ # User uploaded attachment.
+      { # An attachment in Hangouts Chat.
+        &quot;thumbnailUri&quot;: &quot;A String&quot;, # Output only. The thumbnail URL which should be used to preview the
+            # attachment to a human user. Bots should not use this URL to download
+            # attachment content.
+        &quot;driveDataRef&quot;: { # A reference to the data of a drive attachment. # A reference to the drive attachment. This is used with the Drive API.
+          &quot;driveFileId&quot;: &quot;A String&quot;, # The id for the drive file, for use with the Drive API.
+        },
+        &quot;downloadUri&quot;: &quot;A String&quot;, # Output only. The download URL which should be used to allow a human user to
+            # download the attachment. Bots should not use this URL to download
+            # attachment content.
+        &quot;contentType&quot;: &quot;A String&quot;, # The content type (MIME type) of the file.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name of the attachment, in the form
+            # &quot;spaces/*/messages/*/attachments/*&quot;.
+        &quot;source&quot;: &quot;A String&quot;, # The source of the attachment.
+        &quot;attachmentDataRef&quot;: { # A reference to the data of an attachment. # A reference to the attachment data. This is used with the media API to
+            # download the attachment data.
+          &quot;resourceName&quot;: &quot;A String&quot;, # The resource name of the attachment data. This is used with the media API
+              # to download the attachment data.
+        },
+        &quot;contentName&quot;: &quot;A String&quot;, # The original file name for the content, not the full path.
+      },
+    ],
+    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+        # elements such as: formatted texts, buttons, clickable images. Cards are
+        # normally displayed below the plain-text body of the message.
+      { # A card is a UI element that can contain UI widgets such as texts, images.
+        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
+        &quot;cardActions&quot;: [ # The actions of this card.
+          { # A card action is
+              # the action associated with the card. For an invoice card, a
+              # typical action would be: delete invoice, email invoice or open the
+              # invoice in browser.
+            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                  # For example, an Apps Script can be invoked to handle the form.
+                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                    # form submission. This information is echoed back to the bot as part of
+                    # the card click event. The same method name can be used for several
+                    # elements that trigger a common behavior if desired.
+                &quot;parameters&quot;: [ # List of action parameters.
+                  { # List of string parameters to supply when the action method is invoked.
+                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                      # snooze next week. You might use action method = snooze(), passing the
+                      # snooze type and snooze time in the list of string parameters.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                  },
+                ],
+              },
+              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+              },
+            },
+            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+          },
+        ],
+        &quot;sections&quot;: [ # Sections are separated by a line divider.
+          { # A section contains a collection of widgets that are rendered
+              # (vertically) in the order that they are specified. Across all platforms,
+              # cards have a narrow fixed width, so
+              # there is currently no need for layout properties (e.g. float).
+            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+              { # A widget is a UI element that presents texts, images, etc.
+                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                  &quot;text&quot;: &quot;A String&quot;,
+                },
+                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                    # fields should be set.
+                  { # A button. Can be a text button or an image button.
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                    },
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                    },
+                  },
+                ],
+                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                    # element may also contain some actions such as onclick button.
+                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                    },
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                    },
+                  },
+                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                      # corresponding icon image.
+                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
+                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                      # are clickable.
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        },
+                      ],
+                    },
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                  },
+                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                },
+                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        },
+                      ],
+                    },
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                  },
+                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                      # to reserve the right height for the image while waiting for it to load.
+                      # It&#x27;s not meant to override the native aspect ratio of the image.
+                      # If unset, the server fills it by prefetching the image.
+                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                },
+              },
+            ],
+            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+          },
+        ],
+        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+              # title and subtitle is specified, each will take up 1 line. If only the
+              # title is specified, it will take up both lines.
+          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+        },
+      },
+    ],
     &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+          # Please note that this field might not be populated in direct messages
+          # between humans.
+      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
       &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
           #
           # Example: spaces/AAAAMpdlehYs
-      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
-      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
       &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
           # This is deprecated. Use `single_user_bot_dm` instead.
       &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
     },
-  }</pre>
+    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+    },
+    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+        # cannot be displayed (e.g. mobile notifications).
+  }
+
+  threadKey: string, Opaque thread identifier string that can be specified to group messages
+into a single thread. If this is the first message with a given thread
+identifier, a new thread is created. Subsequent messages with the same
+thread identifier will be posted into the same thread. This relieves bots
+and webhooks from having to store the Hangouts Chat thread ID of a thread (created earlier by them) to post
+further updates to it.
+
+Has no effect if thread field,
+corresponding to an existing thread, is set in message.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A message in Hangouts Chat.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+      &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+        { # Annotations associated with the plain-text body of the message.
+            #
+            # Example plain-text message body:
+            # ```
+            # Hello @FooBot how are you!&quot;
+            # ```
+            #
+            # The corresponding annotations metadata:
+            # ```
+            # &quot;annotations&quot;:[{
+            #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+            #   &quot;startIndex&quot;:6,
+            #   &quot;length&quot;:7,
+            #   &quot;userMention&quot;: {
+            #     &quot;user&quot;: {
+            #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+            #       &quot;displayName&quot;:&quot;FooBot&quot;,
+            #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+            #       &quot;type&quot;:&quot;BOT&quot;
+            #     },
+            #     &quot;type&quot;:&quot;MENTION&quot;
+            #    }
+            # }]
+            # ```
+          &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+              # annotation corresponds to.
+          &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+          &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+              # corresponds to.
+          &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+            &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+              &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+              &quot;type&quot;: &quot;A String&quot;, # User type.
+              &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+              &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+            },
+            &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+          },
+        },
+      ],
+      &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+          # posted.
+        &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+        &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+      },
+      &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+        &quot;type&quot;: &quot;A String&quot;, # User type.
+        &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+        &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+          # server.
+      &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+      &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+          # user, but any links to images, web pages, videos, etc. included here will
+          # generate preview chips.
+      &quot;attachment&quot;: [ # User uploaded attachment.
+        { # An attachment in Hangouts Chat.
+          &quot;thumbnailUri&quot;: &quot;A String&quot;, # Output only. The thumbnail URL which should be used to preview the
+              # attachment to a human user. Bots should not use this URL to download
+              # attachment content.
+          &quot;driveDataRef&quot;: { # A reference to the data of a drive attachment. # A reference to the drive attachment. This is used with the Drive API.
+            &quot;driveFileId&quot;: &quot;A String&quot;, # The id for the drive file, for use with the Drive API.
+          },
+          &quot;downloadUri&quot;: &quot;A String&quot;, # Output only. The download URL which should be used to allow a human user to
+              # download the attachment. Bots should not use this URL to download
+              # attachment content.
+          &quot;contentType&quot;: &quot;A String&quot;, # The content type (MIME type) of the file.
+          &quot;name&quot;: &quot;A String&quot;, # Resource name of the attachment, in the form
+              # &quot;spaces/*/messages/*/attachments/*&quot;.
+          &quot;source&quot;: &quot;A String&quot;, # The source of the attachment.
+          &quot;attachmentDataRef&quot;: { # A reference to the data of an attachment. # A reference to the attachment data. This is used with the media API to
+              # download the attachment data.
+            &quot;resourceName&quot;: &quot;A String&quot;, # The resource name of the attachment data. This is used with the media API
+                # to download the attachment data.
+          },
+          &quot;contentName&quot;: &quot;A String&quot;, # The original file name for the content, not the full path.
+        },
+      ],
+      &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+      &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+          # elements such as: formatted texts, buttons, clickable images. Cards are
+          # normally displayed below the plain-text body of the message.
+        { # A card is a UI element that can contain UI widgets such as texts, images.
+          &quot;name&quot;: &quot;A String&quot;, # Name of the card.
+          &quot;cardActions&quot;: [ # The actions of this card.
+            { # A card action is
+                # the action associated with the card. For an invoice card, a
+                # typical action would be: delete invoice, email invoice or open the
+                # invoice in browser.
+              &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+                &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                    # For example, an Apps Script can be invoked to handle the form.
+                  &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                      # form submission. This information is echoed back to the bot as part of
+                      # the card click event. The same method name can be used for several
+                      # elements that trigger a common behavior if desired.
+                  &quot;parameters&quot;: [ # List of action parameters.
+                    { # List of string parameters to supply when the action method is invoked.
+                        # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                        # snooze next week. You might use action method = snooze(), passing the
+                        # snooze type and snooze time in the list of string parameters.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                    },
+                  ],
+                },
+                &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                  &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                },
+              },
+              &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            },
+          ],
+          &quot;sections&quot;: [ # Sections are separated by a line divider.
+            { # A section contains a collection of widgets that are rendered
+                # (vertically) in the order that they are specified. Across all platforms,
+                # cards have a narrow fixed width, so
+                # there is currently no need for layout properties (e.g. float).
+              &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+                { # A widget is a UI element that presents texts, images, etc.
+                  &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                    &quot;text&quot;: &quot;A String&quot;,
+                  },
+                  &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                      # fields should be set.
+                    { # A button. Can be a text button or an image button.
+                      &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                        &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                        &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                            # Default value will be provided if developers don&#x27;t specify.
+                        &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                            # API.
+                      },
+                      &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                        &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                      },
+                    },
+                  ],
+                  &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                      # element may also contain some actions such as onclick button.
+                    &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                      &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                        &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                        &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                            # Default value will be provided if developers don&#x27;t specify.
+                        &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                            # API.
+                      },
+                      &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                        &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                      },
+                    },
+                    &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                        # corresponding icon image.
+                    &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                    &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
+                    &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                    &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                        # are clickable.
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          },
+                        ],
+                      },
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                  },
+                  &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          },
+                        ],
+                      },
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                    },
+                    &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                        # to reserve the right height for the image while waiting for it to load.
+                        # It&#x27;s not meant to override the native aspect ratio of the image.
+                        # If unset, the server fills it by prefetching the image.
+                    &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                  },
+                },
+              ],
+              &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+            },
+          ],
+          &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+            &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+            &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+            &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+                # title and subtitle is specified, each will take up 1 line. If only the
+                # title is specified, it will take up both lines.
+            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+          },
+        },
+      ],
+      &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+            # Please note that this field might not be populated in direct messages
+            # between humans.
+        &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+            #
+            # Example: spaces/AAAAMpdlehYs
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+            # This is deprecated. Use `single_user_bot_dm` instead.
+        &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+      },
+      &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+            #
+            # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+      },
+      &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+          # cannot be displayed (e.g. mobile notifications).
+    }</pre>
 </div>
 
 <div class="method">
@@ -786,257 +841,358 @@
   An object of the form:
 
     { # A message in Hangouts Chat.
-    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
-    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
-        # cannot be displayed (e.g. mobile notifications).
-    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
-        # posted.
-      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
-    },
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
-        # server.
-    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-      &quot;type&quot;: &quot;A String&quot;, # User type.
-      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-    },
-    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
-        # elements such as: formatted texts, buttons, clickable images. Cards are
-        # normally displayed below the plain-text body of the message.
-      { # A card is a UI element that can contain UI widgets such as texts, images.
-        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
-        &quot;sections&quot;: [ # Sections are separated by a line divider.
-          { # A section contains a collection of widgets that are rendered
-              # (vertically) in the order that they are specified. Across all platforms,
-              # cards have a narrow fixed width, so
-              # there is currently no need for layout properties (e.g. float).
-            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
-            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
-              { # A widget is a UI element that presents texts, images, etc.
-                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                  &quot;text&quot;: &quot;A String&quot;,
-                },
-                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                    # element may also contain some actions such as onclick button.
-                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
-                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                    },
-                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don&#x27;t specify.
-                    },
-                  },
-                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
-                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
-                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
-                      # corresponding icon image.
-                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
-                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                      # are clickable.
-                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                    },
-                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      &quot;parameters&quot;: [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                    },
-                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      &quot;parameters&quot;: [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                      # to reserve the right height for the image while waiting for it to load.
-                      # It&#x27;s not meant to override the native aspect ratio of the image.
-                      # If unset, the server fills it by prefetching the image.
-                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
-                },
-                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
-                    # fields should be set.
-                  { # A button. Can be a text button or an image button.
-                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                    },
-                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don&#x27;t specify.
-                    },
-                  },
-                ],
-              },
-            ],
-          },
-        ],
-        &quot;cardActions&quot;: [ # The actions of this card.
-          { # A card action is
-              # the action associated with the card. For an invoice card, a
-              # typical action would be: delete invoice, email invoice or open the
-              # invoice in browser.
-            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
-              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-              },
-              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                  # For example, an Apps Script can be invoked to handle the form.
-                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                    # form submission. This information is echoed back to the bot as part of
-                    # the card click event. The same method name can be used for several
-                    # elements that trigger a common behavior if desired.
-                &quot;parameters&quot;: [ # List of action parameters.
-                  { # List of string parameters to supply when the action method is invoked.
-                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                      # snooze next week. You might use action method = snooze(), passing the
-                      # snooze type and snooze time in the list of string parameters.
-                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                  },
-                ],
-              },
-            },
-            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
-          },
-        ],
-        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
-          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
-          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
-              # title and subtitle is specified, each will take up 1 line. If only the
-              # title is specified, it will take up both lines.
-          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
-          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
-        },
-      },
-    ],
-    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
           #
-          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-    },
+          # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+      &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+        { # Annotations associated with the plain-text body of the message.
+            #
+            # Example plain-text message body:
+            # ```
+            # Hello @FooBot how are you!&quot;
+            # ```
+            #
+            # The corresponding annotations metadata:
+            # ```
+            # &quot;annotations&quot;:[{
+            #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+            #   &quot;startIndex&quot;:6,
+            #   &quot;length&quot;:7,
+            #   &quot;userMention&quot;: {
+            #     &quot;user&quot;: {
+            #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+            #       &quot;displayName&quot;:&quot;FooBot&quot;,
+            #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+            #       &quot;type&quot;:&quot;BOT&quot;
+            #     },
+            #     &quot;type&quot;:&quot;MENTION&quot;
+            #    }
+            # }]
+            # ```
+          &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+              # annotation corresponds to.
+          &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+          &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+              # corresponds to.
+          &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+            &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+              &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+              &quot;type&quot;: &quot;A String&quot;, # User type.
+              &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+              &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+            },
+            &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+          },
+        },
+      ],
+      &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+          # posted.
+        &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+        &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+      },
+      &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+        &quot;type&quot;: &quot;A String&quot;, # User type.
+        &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+        &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+          # server.
+      &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+      &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+          # user, but any links to images, web pages, videos, etc. included here will
+          # generate preview chips.
+      &quot;attachment&quot;: [ # User uploaded attachment.
+        { # An attachment in Hangouts Chat.
+          &quot;thumbnailUri&quot;: &quot;A String&quot;, # Output only. The thumbnail URL which should be used to preview the
+              # attachment to a human user. Bots should not use this URL to download
+              # attachment content.
+          &quot;driveDataRef&quot;: { # A reference to the data of a drive attachment. # A reference to the drive attachment. This is used with the Drive API.
+            &quot;driveFileId&quot;: &quot;A String&quot;, # The id for the drive file, for use with the Drive API.
+          },
+          &quot;downloadUri&quot;: &quot;A String&quot;, # Output only. The download URL which should be used to allow a human user to
+              # download the attachment. Bots should not use this URL to download
+              # attachment content.
+          &quot;contentType&quot;: &quot;A String&quot;, # The content type (MIME type) of the file.
+          &quot;name&quot;: &quot;A String&quot;, # Resource name of the attachment, in the form
+              # &quot;spaces/*/messages/*/attachments/*&quot;.
+          &quot;source&quot;: &quot;A String&quot;, # The source of the attachment.
+          &quot;attachmentDataRef&quot;: { # A reference to the data of an attachment. # A reference to the attachment data. This is used with the media API to
+              # download the attachment data.
+            &quot;resourceName&quot;: &quot;A String&quot;, # The resource name of the attachment data. This is used with the media API
+                # to download the attachment data.
+          },
+          &quot;contentName&quot;: &quot;A String&quot;, # The original file name for the content, not the full path.
+        },
+      ],
+      &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+      &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+          # elements such as: formatted texts, buttons, clickable images. Cards are
+          # normally displayed below the plain-text body of the message.
+        { # A card is a UI element that can contain UI widgets such as texts, images.
+          &quot;name&quot;: &quot;A String&quot;, # Name of the card.
+          &quot;cardActions&quot;: [ # The actions of this card.
+            { # A card action is
+                # the action associated with the card. For an invoice card, a
+                # typical action would be: delete invoice, email invoice or open the
+                # invoice in browser.
+              &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+                &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                    # For example, an Apps Script can be invoked to handle the form.
+                  &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                      # form submission. This information is echoed back to the bot as part of
+                      # the card click event. The same method name can be used for several
+                      # elements that trigger a common behavior if desired.
+                  &quot;parameters&quot;: [ # List of action parameters.
+                    { # List of string parameters to supply when the action method is invoked.
+                        # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                        # snooze next week. You might use action method = snooze(), passing the
+                        # snooze type and snooze time in the list of string parameters.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                    },
+                  ],
+                },
+                &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                  &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                },
+              },
+              &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            },
+          ],
+          &quot;sections&quot;: [ # Sections are separated by a line divider.
+            { # A section contains a collection of widgets that are rendered
+                # (vertically) in the order that they are specified. Across all platforms,
+                # cards have a narrow fixed width, so
+                # there is currently no need for layout properties (e.g. float).
+              &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+                { # A widget is a UI element that presents texts, images, etc.
+                  &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                    &quot;text&quot;: &quot;A String&quot;,
+                  },
+                  &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                      # fields should be set.
+                    { # A button. Can be a text button or an image button.
+                      &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                        &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                        &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                            # Default value will be provided if developers don&#x27;t specify.
+                        &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                            # API.
+                      },
+                      &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                        &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                      },
+                    },
+                  ],
+                  &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                      # element may also contain some actions such as onclick button.
+                    &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                      &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                        &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                        &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                            # Default value will be provided if developers don&#x27;t specify.
+                        &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                            # API.
+                      },
+                      &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                        &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                      },
+                    },
+                    &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                        # corresponding icon image.
+                    &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                    &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
+                    &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                    &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                        # are clickable.
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          },
+                        ],
+                      },
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                  },
+                  &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          },
+                        ],
+                      },
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                    },
+                    &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                        # to reserve the right height for the image while waiting for it to load.
+                        # It&#x27;s not meant to override the native aspect ratio of the image.
+                        # If unset, the server fills it by prefetching the image.
+                    &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                  },
+                },
+              ],
+              &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+            },
+          ],
+          &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+            &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+            &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+            &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+                # title and subtitle is specified, each will take up 1 line. If only the
+                # title is specified, it will take up both lines.
+            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+          },
+        },
+      ],
+      &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+            # Please note that this field might not be populated in direct messages
+            # between humans.
+        &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+            #
+            # Example: spaces/AAAAMpdlehYs
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+            # This is deprecated. Use `single_user_bot_dm` instead.
+        &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
+      },
+      &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+            #
+            # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+      },
+      &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+          # cannot be displayed (e.g. mobile notifications).
+    }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a message.
+
+Args:
+  name: string, Resource name, in the form &quot;spaces/*/messages/*&quot;.
+
+Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A message in Hangouts Chat.
+    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+        # 
+        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
     &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
       { # Annotations associated with the plain-text body of the message.
           #
@@ -1062,364 +1218,313 @@
           #    }
           # }]
           # ```
+        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+            # annotation corresponds to.
+        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+            # corresponds to.
         &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
           &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
             &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
             &quot;type&quot;: &quot;A String&quot;, # User type.
+            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
             &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
           },
           &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
         },
-        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
-        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
-            # corresponds to.
-        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
-            # annotation corresponds to.
       },
     ],
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+        # posted.
+      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
+    },
+    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+      &quot;type&quot;: &quot;A String&quot;, # User type.
+      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+    },
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+        # server.
+    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
     &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
         # user, but any links to images, web pages, videos, etc. included here will
         # generate preview chips.
-    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+    &quot;attachment&quot;: [ # User uploaded attachment.
+      { # An attachment in Hangouts Chat.
+        &quot;thumbnailUri&quot;: &quot;A String&quot;, # Output only. The thumbnail URL which should be used to preview the
+            # attachment to a human user. Bots should not use this URL to download
+            # attachment content.
+        &quot;driveDataRef&quot;: { # A reference to the data of a drive attachment. # A reference to the drive attachment. This is used with the Drive API.
+          &quot;driveFileId&quot;: &quot;A String&quot;, # The id for the drive file, for use with the Drive API.
+        },
+        &quot;downloadUri&quot;: &quot;A String&quot;, # Output only. The download URL which should be used to allow a human user to
+            # download the attachment. Bots should not use this URL to download
+            # attachment content.
+        &quot;contentType&quot;: &quot;A String&quot;, # The content type (MIME type) of the file.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name of the attachment, in the form
+            # &quot;spaces/*/messages/*/attachments/*&quot;.
+        &quot;source&quot;: &quot;A String&quot;, # The source of the attachment.
+        &quot;attachmentDataRef&quot;: { # A reference to the data of an attachment. # A reference to the attachment data. This is used with the media API to
+            # download the attachment data.
+          &quot;resourceName&quot;: &quot;A String&quot;, # The resource name of the attachment data. This is used with the media API
+              # to download the attachment data.
+        },
+        &quot;contentName&quot;: &quot;A String&quot;, # The original file name for the content, not the full path.
+      },
+    ],
+    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+        # elements such as: formatted texts, buttons, clickable images. Cards are
+        # normally displayed below the plain-text body of the message.
+      { # A card is a UI element that can contain UI widgets such as texts, images.
+        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
+        &quot;cardActions&quot;: [ # The actions of this card.
+          { # A card action is
+              # the action associated with the card. For an invoice card, a
+              # typical action would be: delete invoice, email invoice or open the
+              # invoice in browser.
+            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                  # For example, an Apps Script can be invoked to handle the form.
+                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                    # form submission. This information is echoed back to the bot as part of
+                    # the card click event. The same method name can be used for several
+                    # elements that trigger a common behavior if desired.
+                &quot;parameters&quot;: [ # List of action parameters.
+                  { # List of string parameters to supply when the action method is invoked.
+                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                      # snooze next week. You might use action method = snooze(), passing the
+                      # snooze type and snooze time in the list of string parameters.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                  },
+                ],
+              },
+              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+              },
+            },
+            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+          },
+        ],
+        &quot;sections&quot;: [ # Sections are separated by a line divider.
+          { # A section contains a collection of widgets that are rendered
+              # (vertically) in the order that they are specified. Across all platforms,
+              # cards have a narrow fixed width, so
+              # there is currently no need for layout properties (e.g. float).
+            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+              { # A widget is a UI element that presents texts, images, etc.
+                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                  &quot;text&quot;: &quot;A String&quot;,
+                },
+                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                    # fields should be set.
+                  { # A button. Can be a text button or an image button.
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                    },
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                    },
+                  },
+                ],
+                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                    # element may also contain some actions such as onclick button.
+                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                          # Default value will be provided if developers don&#x27;t specify.
+                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                          # API.
+                    },
+                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                            # For example, an Apps Script can be invoked to handle the form.
+                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                              # form submission. This information is echoed back to the bot as part of
+                              # the card click event. The same method name can be used for several
+                              # elements that trigger a common behavior if desired.
+                          &quot;parameters&quot;: [ # List of action parameters.
+                            { # List of string parameters to supply when the action method is invoked.
+                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                # snooze next week. You might use action method = snooze(), passing the
+                                # snooze type and snooze time in the list of string parameters.
+                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                            },
+                          ],
+                        },
+                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                        },
+                      },
+                    },
+                  },
+                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                      # corresponding icon image.
+                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
+                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                      # are clickable.
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        },
+                      ],
+                    },
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                  },
+                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                },
+                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                        # For example, an Apps Script can be invoked to handle the form.
+                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                          # form submission. This information is echoed back to the bot as part of
+                          # the card click event. The same method name can be used for several
+                          # elements that trigger a common behavior if desired.
+                      &quot;parameters&quot;: [ # List of action parameters.
+                        { # List of string parameters to supply when the action method is invoked.
+                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                            # snooze next week. You might use action method = snooze(), passing the
+                            # snooze type and snooze time in the list of string parameters.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                        },
+                      ],
+                    },
+                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                    },
+                  },
+                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                      # to reserve the right height for the image while waiting for it to load.
+                      # It&#x27;s not meant to override the native aspect ratio of the image.
+                      # If unset, the server fills it by prefetching the image.
+                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                },
+              },
+            ],
+            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+          },
+        ],
+        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+              # title and subtitle is specified, each will take up 1 line. If only the
+              # title is specified, it will take up both lines.
+          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+        },
+      },
+    ],
     &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+          # Please note that this field might not be populated in direct messages
+          # between humans.
+      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
       &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
           #
           # Example: spaces/AAAAMpdlehYs
-      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
-      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
       &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
           # This is deprecated. Use `single_user_bot_dm` instead.
       &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
     },
-  }</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="update">update(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Updates a message.
-
-Args:
-  name: string, Resource name, in the form &quot;spaces/*/messages/*&quot;.
-
-Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4 (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A message in Hangouts Chat.
-  &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
-  &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
-      # cannot be displayed (e.g. mobile notifications).
-  &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
-      # posted.
-    &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-    &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
-  },
-  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
-      # server.
-  &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-    &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-    &quot;type&quot;: &quot;A String&quot;, # User type.
-    &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-  },
-  &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
-      # elements such as: formatted texts, buttons, clickable images. Cards are
-      # normally displayed below the plain-text body of the message.
-    { # A card is a UI element that can contain UI widgets such as texts, images.
-      &quot;name&quot;: &quot;A String&quot;, # Name of the card.
-      &quot;sections&quot;: [ # Sections are separated by a line divider.
-        { # A section contains a collection of widgets that are rendered
-            # (vertically) in the order that they are specified. Across all platforms,
-            # cards have a narrow fixed width, so
-            # there is currently no need for layout properties (e.g. float).
-          &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
-          &quot;widgets&quot;: [ # A section must contain at least 1 widget.
-            { # A widget is a UI element that presents texts, images, etc.
-              &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                &quot;text&quot;: &quot;A String&quot;,
-              },
-              &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                  # element may also contain some actions such as onclick button.
-                &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
-                &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                  },
-                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                        # API.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                        # Default value will be provided if developers don&#x27;t specify.
-                  },
-                },
-                &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
-                &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
-                &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
-                    # corresponding icon image.
-                &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
-                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                    # are clickable.
-                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                  },
-                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                      # For example, an Apps Script can be invoked to handle the form.
-                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                        # form submission. This information is echoed back to the bot as part of
-                        # the card click event. The same method name can be used for several
-                        # elements that trigger a common behavior if desired.
-                    &quot;parameters&quot;: [ # List of action parameters.
-                      { # List of string parameters to supply when the action method is invoked.
-                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                          # snooze next week. You might use action method = snooze(), passing the
-                          # snooze type and snooze time in the list of string parameters.
-                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                      },
-                    ],
-                  },
-                },
-              },
-              &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                  &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                    &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                  },
-                  &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                      # For example, an Apps Script can be invoked to handle the form.
-                    &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                        # form submission. This information is echoed back to the bot as part of
-                        # the card click event. The same method name can be used for several
-                        # elements that trigger a common behavior if desired.
-                    &quot;parameters&quot;: [ # List of action parameters.
-                      { # List of string parameters to supply when the action method is invoked.
-                          # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                          # snooze next week. You might use action method = snooze(), passing the
-                          # snooze type and snooze time in the list of string parameters.
-                        &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                        &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                      },
-                    ],
-                  },
-                },
-                &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                    # to reserve the right height for the image while waiting for it to load.
-                    # It&#x27;s not meant to override the native aspect ratio of the image.
-                    # If unset, the server fills it by prefetching the image.
-                &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
-              },
-              &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
-                  # fields should be set.
-                { # A button. Can be a text button or an image button.
-                  &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                  },
-                  &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                    &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                        # API.
-                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                      },
-                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                          # For example, an Apps Script can be invoked to handle the form.
-                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                            # form submission. This information is echoed back to the bot as part of
-                            # the card click event. The same method name can be used for several
-                            # elements that trigger a common behavior if desired.
-                        &quot;parameters&quot;: [ # List of action parameters.
-                          { # List of string parameters to supply when the action method is invoked.
-                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                              # snooze next week. You might use action method = snooze(), passing the
-                              # snooze type and snooze time in the list of string parameters.
-                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                          },
-                        ],
-                      },
-                    },
-                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                        # Default value will be provided if developers don&#x27;t specify.
-                  },
-                },
-              ],
-            },
-          ],
-        },
-      ],
-      &quot;cardActions&quot;: [ # The actions of this card.
-        { # A card action is
-            # the action associated with the card. For an invoice card, a
-            # typical action would be: delete invoice, email invoice or open the
-            # invoice in browser.
-          &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
-            &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-              &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-            },
-            &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                # For example, an Apps Script can be invoked to handle the form.
-              &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                  # form submission. This information is echoed back to the bot as part of
-                  # the card click event. The same method name can be used for several
-                  # elements that trigger a common behavior if desired.
-              &quot;parameters&quot;: [ # List of action parameters.
-                { # List of string parameters to supply when the action method is invoked.
-                    # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                    # snooze next week. You might use action method = snooze(), passing the
-                    # snooze type and snooze time in the list of string parameters.
-                  &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                  &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                },
-              ],
-            },
-          },
-          &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
-        },
-      ],
-      &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
-        &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
-        &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
-            # title and subtitle is specified, each will take up 1 line. If only the
-            # title is specified, it will take up both lines.
-        &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
-        &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
-      },
+    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
     },
-  ],
-  &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-  },
-  &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
-    { # Annotations associated with the plain-text body of the message.
-        #
-        # Example plain-text message body:
-        # ```
-        # Hello @FooBot how are you!&quot;
-        # ```
-        #
-        # The corresponding annotations metadata:
-        # ```
-        # &quot;annotations&quot;:[{
-        #   &quot;type&quot;:&quot;USER_MENTION&quot;,
-        #   &quot;startIndex&quot;:6,
-        #   &quot;length&quot;:7,
-        #   &quot;userMention&quot;: {
-        #     &quot;user&quot;: {
-        #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
-        #       &quot;displayName&quot;:&quot;FooBot&quot;,
-        #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
-        #       &quot;type&quot;:&quot;BOT&quot;
-        #     },
-        #     &quot;type&quot;:&quot;MENTION&quot;
-        #    }
-        # }]
-        # ```
-      &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
-        &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
-          &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-          &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-          &quot;type&quot;: &quot;A String&quot;, # User type.
-          &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-        },
-        &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
-      },
-      &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
-      &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
-          # corresponds to.
-      &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
-          # annotation corresponds to.
-    },
-  ],
-  &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
-      # 
-      # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-  &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
-      # user, but any links to images, web pages, videos, etc. included here will
-      # generate preview chips.
-  &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
-  &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
-    &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehYs
-    &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
-    &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
-    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
-        # This is deprecated. Use `single_user_bot_dm` instead.
-    &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
-  },
-}
+    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+        # cannot be displayed (e.g. mobile notifications).
+  }
 
   updateMask: string, Required. The field paths to be updated, comma separated if there are
 multiple.
@@ -1436,316 +1541,341 @@
   An object of the form:
 
     { # A message in Hangouts Chat.
-    &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
-    &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
-        # cannot be displayed (e.g. mobile notifications).
-    &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
-        # posted.
-      &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
-      &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
-    },
-    &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
-        # server.
-    &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-      &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-      &quot;type&quot;: &quot;A String&quot;, # User type.
-      &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
-    },
-    &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
-        # elements such as: formatted texts, buttons, clickable images. Cards are
-        # normally displayed below the plain-text body of the message.
-      { # A card is a UI element that can contain UI widgets such as texts, images.
-        &quot;name&quot;: &quot;A String&quot;, # Name of the card.
-        &quot;sections&quot;: [ # Sections are separated by a line divider.
-          { # A section contains a collection of widgets that are rendered
-              # (vertically) in the order that they are specified. Across all platforms,
-              # cards have a narrow fixed width, so
-              # there is currently no need for layout properties (e.g. float).
-            &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
-            &quot;widgets&quot;: [ # A section must contain at least 1 widget.
-              { # A widget is a UI element that presents texts, images, etc.
-                &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
-                  &quot;text&quot;: &quot;A String&quot;,
-                },
-                &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
-                    # element may also contain some actions such as onclick button.
-                  &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
-                  &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                  &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
-                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                    },
-                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don&#x27;t specify.
-                    },
-                  },
-                  &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
-                  &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
-                  &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
-                      # corresponding icon image.
-                  &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
-                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
-                      # are clickable.
-                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                    },
-                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      &quot;parameters&quot;: [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                        },
-                      ],
-                    },
-                  },
-                },
-                &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
-                  &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                    &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                      &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                    },
-                    &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                        # For example, an Apps Script can be invoked to handle the form.
-                      &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                          # form submission. This information is echoed back to the bot as part of
-                          # the card click event. The same method name can be used for several
-                          # elements that trigger a common behavior if desired.
-                      &quot;parameters&quot;: [ # List of action parameters.
-                        { # List of string parameters to supply when the action method is invoked.
-                            # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                            # snooze next week. You might use action method = snooze(), passing the
-                            # snooze type and snooze time in the list of string parameters.
-                          &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                          &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                        },
-                      ],
-                    },
-                  },
-                  &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
-                      # to reserve the right height for the image while waiting for it to load.
-                      # It&#x27;s not meant to override the native aspect ratio of the image.
-                      # If unset, the server fills it by prefetching the image.
-                  &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
-                },
-                &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
-                    # fields should be set.
-                  { # A button. Can be a text button or an image button.
-                    &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;text&quot;: &quot;A String&quot;, # The text of the button.
-                    },
-                    &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
-                      &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
-                          # API.
-                      &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
-                        &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                          &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-                        },
-                        &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                            # For example, an Apps Script can be invoked to handle the form.
-                          &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                              # form submission. This information is echoed back to the bot as part of
-                              # the card click event. The same method name can be used for several
-                              # elements that trigger a common behavior if desired.
-                          &quot;parameters&quot;: [ # List of action parameters.
-                            { # List of string parameters to supply when the action method is invoked.
-                                # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                                # snooze next week. You might use action method = snooze(), passing the
-                                # snooze type and snooze time in the list of string parameters.
-                              &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                              &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                            },
-                          ],
-                        },
-                      },
-                      &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
-                      &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
-                          # Default value will be provided if developers don&#x27;t specify.
-                    },
-                  },
-                ],
-              },
-            ],
-          },
-        ],
-        &quot;cardActions&quot;: [ # The actions of this card.
-          { # A card action is
-              # the action associated with the card. For an invoice card, a
-              # typical action would be: delete invoice, email invoice or open the
-              # invoice in browser.
-            &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
-              &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
-                &quot;url&quot;: &quot;A String&quot;, # The URL to open.
-              },
-              &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
-                  # For example, an Apps Script can be invoked to handle the form.
-                &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
-                    # form submission. This information is echoed back to the bot as part of
-                    # the card click event. The same method name can be used for several
-                    # elements that trigger a common behavior if desired.
-                &quot;parameters&quot;: [ # List of action parameters.
-                  { # List of string parameters to supply when the action method is invoked.
-                      # For example, consider three snooze buttons: snooze now, snooze 1 day,
-                      # snooze next week. You might use action method = snooze(), passing the
-                      # snooze type and snooze time in the list of string parameters.
-                    &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
-                    &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
-                  },
-                ],
-              },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
+          #
+          # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
+      &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
+        { # Annotations associated with the plain-text body of the message.
+            #
+            # Example plain-text message body:
+            # ```
+            # Hello @FooBot how are you!&quot;
+            # ```
+            #
+            # The corresponding annotations metadata:
+            # ```
+            # &quot;annotations&quot;:[{
+            #   &quot;type&quot;:&quot;USER_MENTION&quot;,
+            #   &quot;startIndex&quot;:6,
+            #   &quot;length&quot;:7,
+            #   &quot;userMention&quot;: {
+            #     &quot;user&quot;: {
+            #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
+            #       &quot;displayName&quot;:&quot;FooBot&quot;,
+            #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
+            #       &quot;type&quot;:&quot;BOT&quot;
+            #     },
+            #     &quot;type&quot;:&quot;MENTION&quot;
+            #    }
+            # }]
+            # ```
+          &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
+              # annotation corresponds to.
+          &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
+          &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
+              # corresponds to.
+          &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
+            &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
+              &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+              &quot;type&quot;: &quot;A String&quot;, # User type.
+              &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+              &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
             },
-            &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
           },
-        ],
-        &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
-          &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
-          &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
-              # title and subtitle is specified, each will take up 1 line. If only the
-              # title is specified, it will take up both lines.
-          &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
-          &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
         },
+      ],
+      &quot;actionResponse&quot;: { # Parameters that a bot can use to configure how it&#x27;s response is posted. # Input only. Parameters that a bot can use to configure how its response is
+          # posted.
+        &quot;type&quot;: &quot;A String&quot;, # The type of bot response.
+        &quot;url&quot;: &quot;A String&quot;, # URL for users to auth or config. (Only for REQUEST_CONFIG response types.)
       },
-    ],
-    &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
-          #
-          # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
-    },
-    &quot;annotations&quot;: [ # Output only. Annotations associated with the text in this message.
-      { # Annotations associated with the plain-text body of the message.
-          #
-          # Example plain-text message body:
-          # ```
-          # Hello @FooBot how are you!&quot;
-          # ```
-          #
-          # The corresponding annotations metadata:
-          # ```
-          # &quot;annotations&quot;:[{
-          #   &quot;type&quot;:&quot;USER_MENTION&quot;,
-          #   &quot;startIndex&quot;:6,
-          #   &quot;length&quot;:7,
-          #   &quot;userMention&quot;: {
-          #     &quot;user&quot;: {
-          #       &quot;name&quot;:&quot;users/107946847022116401880&quot;,
-          #       &quot;displayName&quot;:&quot;FooBot&quot;,
-          #       &quot;avatarUrl&quot;:&quot;https://goo.gl/aeDtrS&quot;,
-          #       &quot;type&quot;:&quot;BOT&quot;
-          #     },
-          #     &quot;type&quot;:&quot;MENTION&quot;
-          #    }
-          # }]
-          # ```
-        &quot;userMention&quot;: { # Annotation metadata for user mentions (@). # The metadata of user mention.
-          &quot;user&quot;: { # A user in Hangouts Chat. # The user mentioned.
-            &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
-            &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
-            &quot;type&quot;: &quot;A String&quot;, # User type.
-            &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      &quot;sender&quot;: { # A user in Hangouts Chat. # The user who created the message.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name, in the format &quot;users/*&quot;.
+        &quot;type&quot;: &quot;A String&quot;, # User type.
+        &quot;displayName&quot;: &quot;A String&quot;, # The user&#x27;s display name.
+        &quot;domainId&quot;: &quot;A String&quot;, # Obfuscated domain information.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the message was created in Hangouts Chat
+          # server.
+      &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
+      &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
+          # user, but any links to images, web pages, videos, etc. included here will
+          # generate preview chips.
+      &quot;attachment&quot;: [ # User uploaded attachment.
+        { # An attachment in Hangouts Chat.
+          &quot;thumbnailUri&quot;: &quot;A String&quot;, # Output only. The thumbnail URL which should be used to preview the
+              # attachment to a human user. Bots should not use this URL to download
+              # attachment content.
+          &quot;driveDataRef&quot;: { # A reference to the data of a drive attachment. # A reference to the drive attachment. This is used with the Drive API.
+            &quot;driveFileId&quot;: &quot;A String&quot;, # The id for the drive file, for use with the Drive API.
           },
-          &quot;type&quot;: &quot;A String&quot;, # The type of user mention.
+          &quot;downloadUri&quot;: &quot;A String&quot;, # Output only. The download URL which should be used to allow a human user to
+              # download the attachment. Bots should not use this URL to download
+              # attachment content.
+          &quot;contentType&quot;: &quot;A String&quot;, # The content type (MIME type) of the file.
+          &quot;name&quot;: &quot;A String&quot;, # Resource name of the attachment, in the form
+              # &quot;spaces/*/messages/*/attachments/*&quot;.
+          &quot;source&quot;: &quot;A String&quot;, # The source of the attachment.
+          &quot;attachmentDataRef&quot;: { # A reference to the data of an attachment. # A reference to the attachment data. This is used with the media API to
+              # download the attachment data.
+            &quot;resourceName&quot;: &quot;A String&quot;, # The resource name of the attachment data. This is used with the media API
+                # to download the attachment data.
+          },
+          &quot;contentName&quot;: &quot;A String&quot;, # The original file name for the content, not the full path.
         },
-        &quot;type&quot;: &quot;A String&quot;, # The type of this annotation.
-        &quot;length&quot;: 42, # Length of the substring in the plain-text message body this annotation
-            # corresponds to.
-        &quot;startIndex&quot;: 42, # Start index (0-based, inclusive) in the plain-text message body this
-            # annotation corresponds to.
+      ],
+      &quot;argumentText&quot;: &quot;A String&quot;, # Plain-text body of the message with all bot mentions stripped out.
+      &quot;cards&quot;: [ # Rich, formatted and interactive cards that can be used to display UI
+          # elements such as: formatted texts, buttons, clickable images. Cards are
+          # normally displayed below the plain-text body of the message.
+        { # A card is a UI element that can contain UI widgets such as texts, images.
+          &quot;name&quot;: &quot;A String&quot;, # Name of the card.
+          &quot;cardActions&quot;: [ # The actions of this card.
+            { # A card action is
+                # the action associated with the card. For an invoice card, a
+                # typical action would be: delete invoice, email invoice or open the
+                # invoice in browser.
+              &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action for this action item.
+                &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                    # For example, an Apps Script can be invoked to handle the form.
+                  &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                      # form submission. This information is echoed back to the bot as part of
+                      # the card click event. The same method name can be used for several
+                      # elements that trigger a common behavior if desired.
+                  &quot;parameters&quot;: [ # List of action parameters.
+                    { # List of string parameters to supply when the action method is invoked.
+                        # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                        # snooze next week. You might use action method = snooze(), passing the
+                        # snooze type and snooze time in the list of string parameters.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                      &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                    },
+                  ],
+                },
+                &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                  &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                },
+              },
+              &quot;actionLabel&quot;: &quot;A String&quot;, # The label used to be displayed in the action menu item.
+            },
+          ],
+          &quot;sections&quot;: [ # Sections are separated by a line divider.
+            { # A section contains a collection of widgets that are rendered
+                # (vertically) in the order that they are specified. Across all platforms,
+                # cards have a narrow fixed width, so
+                # there is currently no need for layout properties (e.g. float).
+              &quot;widgets&quot;: [ # A section must contain at least 1 widget.
+                { # A widget is a UI element that presents texts, images, etc.
+                  &quot;textParagraph&quot;: { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget.
+                    &quot;text&quot;: &quot;A String&quot;,
+                  },
+                  &quot;buttons&quot;: [ # A list of buttons. Buttons is also oneof data and only one of these
+                      # fields should be set.
+                    { # A button. Can be a text button or an image button.
+                      &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                        &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                        &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                            # Default value will be provided if developers don&#x27;t specify.
+                        &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                            # API.
+                      },
+                      &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                        &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                      },
+                    },
+                  ],
+                  &quot;keyValue&quot;: { # A UI element contains a key (label) and a value (content). And this # Display a key value item in this widget.
+                      # element may also contain some actions such as onclick button.
+                    &quot;button&quot;: { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action.
+                      &quot;imageButton&quot;: { # An image button with an onclick action. # A button with image and onclick action.
+                        &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                        &quot;name&quot;: &quot;A String&quot;, # The name of this image_button which will be used for accessibility.
+                            # Default value will be provided if developers don&#x27;t specify.
+                        &quot;icon&quot;: &quot;A String&quot;, # The icon specified by an enum that indices to an icon provided by Chat
+                            # API.
+                      },
+                      &quot;textButton&quot;: { # A button with text and onclick action. # A button with text and onclick action.
+                        &quot;text&quot;: &quot;A String&quot;, # The text of the button.
+                        &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action of the button.
+                          &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                              # For example, an Apps Script can be invoked to handle the form.
+                            &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                                # form submission. This information is echoed back to the bot as part of
+                                # the card click event. The same method name can be used for several
+                                # elements that trigger a common behavior if desired.
+                            &quot;parameters&quot;: [ # List of action parameters.
+                              { # List of string parameters to supply when the action method is invoked.
+                                  # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                                  # snooze next week. You might use action method = snooze(), passing the
+                                  # snooze type and snooze time in the list of string parameters.
+                                &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                                &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                              },
+                            ],
+                          },
+                          &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                            &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                          },
+                        },
+                      },
+                    },
+                    &quot;icon&quot;: &quot;A String&quot;, # An enum value that will be replaced by the Chat API with the
+                        # corresponding icon image.
+                    &quot;bottomLabel&quot;: &quot;A String&quot;, # The text of the bottom label. Formatted text supported.
+                    &quot;contentMultiline&quot;: True or False, # If the content should be multiline.
+                    &quot;topLabel&quot;: &quot;A String&quot;, # The text of the top label. Formatted text supported.
+                    &quot;content&quot;: &quot;A String&quot;, # The text of the content. Formatted text supported and always required.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action. Only the top label, bottom label and content region
+                        # are clickable.
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          },
+                        ],
+                      },
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                    },
+                    &quot;iconUrl&quot;: &quot;A String&quot;, # The icon specified by a URL.
+                  },
+                  &quot;image&quot;: { # An image that is specified by a URL and can have an onclick action. # Display an image in this widget.
+                    &quot;onClick&quot;: { # An onclick action (e.g. open a link). # The onclick action.
+                      &quot;action&quot;: { # A form action describes the behavior when the form is submitted. # A form action will be trigger by this onclick if specified.
+                          # For example, an Apps Script can be invoked to handle the form.
+                        &quot;actionMethodName&quot;: &quot;A String&quot;, # The method name is used to identify which part of the form triggered the
+                            # form submission. This information is echoed back to the bot as part of
+                            # the card click event. The same method name can be used for several
+                            # elements that trigger a common behavior if desired.
+                        &quot;parameters&quot;: [ # List of action parameters.
+                          { # List of string parameters to supply when the action method is invoked.
+                              # For example, consider three snooze buttons: snooze now, snooze 1 day,
+                              # snooze next week. You might use action method = snooze(), passing the
+                              # snooze type and snooze time in the list of string parameters.
+                            &quot;value&quot;: &quot;A String&quot;, # The value of the parameter.
+                            &quot;key&quot;: &quot;A String&quot;, # The name of the parameter for the action script.
+                          },
+                        ],
+                      },
+                      &quot;openLink&quot;: { # A link that opens a new window. # This onclick triggers an open link action if specified.
+                        &quot;url&quot;: &quot;A String&quot;, # The URL to open.
+                      },
+                    },
+                    &quot;aspectRatio&quot;: 3.14, # The aspect ratio of this image (width/height). This field allows clients
+                        # to reserve the right height for the image while waiting for it to load.
+                        # It&#x27;s not meant to override the native aspect ratio of the image.
+                        # If unset, the server fills it by prefetching the image.
+                    &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image.
+                  },
+                },
+              ],
+              &quot;header&quot;: &quot;A String&quot;, # The header of the section, text formatted supported.
+            },
+          ],
+          &quot;header&quot;: { # The header of the card. A header usually contains a title and an image.
+            &quot;imageUrl&quot;: &quot;A String&quot;, # The URL of the image in the card header.
+            &quot;imageStyle&quot;: &quot;A String&quot;, # The image&#x27;s type (e.g. square border or circular border).
+            &quot;title&quot;: &quot;A String&quot;, # The title must be specified. The header has a fixed height: if both a
+                # title and subtitle is specified, each will take up 1 line. If only the
+                # title is specified, it will take up both lines.
+            &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the card header.
+          },
+        },
+      ],
+      &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
+        &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
+            # Please note that this field might not be populated in direct messages
+            # between humans.
+        &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
+            #
+            # Example: spaces/AAAAMpdlehYs
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
+            # This is deprecated. Use `single_user_bot_dm` instead.
+        &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
       },
-    ],
-    &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/messages/*&quot;.
-        #
-        # Example: spaces/AAAAMpdlehY/messages/UMxbHmzDlr4.UMxbHmzDlr4
-    &quot;previewText&quot;: &quot;A String&quot;, # Text for generating preview chips. This text will not be displayed to the
-        # user, but any links to images, web pages, videos, etc. included here will
-        # generate preview chips.
-    &quot;text&quot;: &quot;A String&quot;, # Plain-text body of the message.
-    &quot;space&quot;: { # A room or DM in Hangouts Chat. # The space the message belongs to.
-      &quot;name&quot;: &quot;A String&quot;, # Resource name of the space, in the form &quot;spaces/*&quot;.
-          #
-          # Example: spaces/AAAAMpdlehYs
-      &quot;threaded&quot;: True or False, # Whether the messages are threaded in this space.
-      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name (only if the space is a room).
-      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of a space.
-          # This is deprecated. Use `single_user_bot_dm` instead.
-      &quot;singleUserBotDm&quot;: True or False, # Whether the space is a DM between a bot and a single human.
-    },
-  }</pre>
+      &quot;thread&quot;: { # A thread in Hangouts Chat. # The thread the message belongs to.
+        &quot;name&quot;: &quot;A String&quot;, # Resource name, in the form &quot;spaces/*/threads/*&quot;.
+            #
+            # Example: spaces/AAAAMpdlehY/threads/UMxbHmzDlr4
+      },
+      &quot;fallbackText&quot;: &quot;A String&quot;, # A plain-text description of the message&#x27;s cards, used when the actual cards
+          # cannot be displayed (e.g. mobile notifications).
+    }</pre>
 </div>
 
 </body></html>
\ No newline at end of file