code: def get_message(self, object_id=None, query=None, *, download_attachments=False):
          
          if object_id is not None and query is not None:
              raise ValueError('Must provide object id or query but not both.')
  
          if object_id is not None:
              url = self.build_url(self._endpoints.get('message').format(id=object_id))
              response = self.con.get(url)
              if not response:
                  return None
  
              message = response.json()
  
              return self.message_constructor(parent=self,
                                              download_attachments=download_attachments,
                                              **{self._cloud_data_key: message})
  
          else:
              messages = list(self.get_messages(limit=1, query=query,
                                                download_attachments=download_attachments))
  
              return messages[0] if messages else None
docs: Get one message from the query result.
           A shortcut to get_messages with limit=1
          :param object_id: the message id to be retrieved.
          :param query: applies a filter to the request such as
           "displayName eq 'HelloFolder'"
          :type query: Query or str
          :param bool download_attachments: whether or not to download attachments
          :return: one Message
          :rtype: Message or None