Use this method to get a list of administrators in a chat.

        Source: https://core.telegram.org/bots/api#getchatadministrators

        :param chat_id: Unique identifier for the target chat or username of the target supergroup or channel
        :type chat_id: :obj:`typing.Union[base.Integer, base.String]`
        :return: On success, returns an Array of ChatMember objects that contains information about all
            chat administrators except other bots.
            If the chat is a group or a supergroup and no administrators were appointed,
            only the creator will be returned.
        :rtype: :obj:`typing.List[types.ChatMember]`

async def get_chat_administrators(self, chat_id: typing.Union[base.Integer, base.String]
                                      ) -> typing.List[types.ChatMember]:
        """
        Use this method to get a list of administrators in a chat.

        Source: https://core.telegram.org/bots/api#getchatadministrators

        :param chat_id: Unique identifier for the target chat or username of the target supergroup or channel
        :type chat_id: :obj:`typing.Union[base.Integer, base.String]`
        :return: On success, returns an Array of ChatMember objects that contains information about all
            chat administrators except other bots.
            If the chat is a group or a supergroup and no administrators were appointed,
            only the creator will be returned.
        :rtype: :obj:`typing.List[types.ChatMember]`
        """
        payload = generate_payload(**locals())

        result = await self.request(api.Methods.GET_CHAT_ADMINISTRATORS, payload)
        return [types.ChatMember(**chatmember) for chatmember in result]