docs: def to_array(self):
          """
          Serializes this Chat to a dictionary.
  
          :return: dictionary representation of this object.
          :rtype: dict
          """
          array = super(Chat, self).to_array()
          array['id'] = int(self.id)  # type int
          array['type'] = u(self.type)  # py2: type unicode, py3: type str
  
          if self.title is not None:
              array['title'] = u(self.title)  # py2: type unicode, py3: type str
  
          if self.username is not None:
              array['username'] = u(self.username)  # py2: type unicode, py3: type str
  
          if self.first_name is not None:
              array['first_name'] = u(self.first_name)  # py2: type unicode, py3: type str
  
          if self.last_name is not None:
              array['last_name'] = u(self.last_name)  # py2: type unicode, py3: type str
  
          if self.all_members_are_administrators is not None:
              array['all_members_are_administrators'] = bool(self.all_members_are_administrators)  # type bool
          if self.photo is not None:
              array['photo'] = self.photo.to_array()  # type ChatPhoto
  
          if self.description is not None:
              array['description'] = u(self.description)  # py2: type unicode, py3: type str
  
          if self.invite_link is not None:
              array['invite_link'] = u(self.invite_link)  # py2: type unicode, py3: type str
  
          if self.pinned_message is not None:
              array['pinned_message'] = self.pinned_message.to_array()  # type Message
  
          if self.sticker_set_name is not None:
              array['sticker_set_name'] = u(self.sticker_set_name)  # py2: type unicode, py3: type str
  
          if self.can_set_sticker_set is not None:
              array['can_set_sticker_set'] = bool(self.can_set_sticker_set)  # type bool
          return array