<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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]