async def send_contact(self, chat_id: typing.Union[base.Integer, base.String],
                           phone_number: base.String, first_name: base.String,
                           last_name: typing.Union[base.String, None] = None,
                           vcard: typing.Union[base.String, None] = None,
                           disable_notification: typing.Union[base.Boolean, None] = None,
                           reply_to_message_id: typing.Union[base.Integer, None] = None,
                           reply_markup: typing.Union[types.InlineKeyboardMarkup,
                                                      types.ReplyKeyboardMarkup,
                                                      types.ReplyKeyboardRemove,
                                                      types.ForceReply, None] = None) -> types.Message:
        """
        Use this method to send phone contacts.

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

        :param chat_id: Unique identifier for the target chat or username of the target channel
        :type chat_id: :obj:`typing.Union[base.Integer, base.String]`
        :param phone_number: Contact's phone number
        :type phone_number: :obj:`base.String`
        :param first_name: Contact's first name
        :type first_name: :obj:`base.String`
        :param last_name: Contact's last name
        :type last_name: :obj:`typing.Union[base.String, None]`
        :param vcard: vcard
        :type vcard: :obj:`typing.Union[base.String, None]`
        :param disable_notification: Sends the message silently. Users will receive a notification with no sound
        :type disable_notification: :obj:`typing.Union[base.Boolean, None]`
        :param reply_to_message_id: If the message is a reply, ID of the original message
        :type reply_to_message_id: :obj:`typing.Union[base.Integer, None]`
        :param reply_markup: Additional interface options
        :type reply_markup: :obj:`typing.Union[types.InlineKeyboardMarkup,
            types.ReplyKeyboardMarkup, types.ReplyKeyboardRemove, types.ForceReply, None]`
        :return: On success, the sent Message is returned
        :rtype: :obj:`types.Message`
        """
        reply_markup = prepare_arg(reply_markup)
        payload = generate_payload(**locals())

        result = await self.request(api.Methods.SEND_CONTACT, payload)
        return types.Message(**result)
Use this method to send phone contacts.

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

        :param chat_id: Unique identifier for the target chat or username of the target channel
        :type chat_id: :obj:`typing.Union[base.Integer, base.String]`
        :param phone_number: Contact's phone number
        :type phone_number: :obj:`base.String`
        :param first_name: Contact's first name
        :type first_name: :obj:`base.String`
        :param last_name: Contact's last name
        :type last_name: :obj:`typing.Union[base.String, None]`
        :param vcard: vcard
        :type vcard: :obj:`typing.Union[base.String, None]`
        :param disable_notification: Sends the message silently. Users will receive a notification with no sound
        :type disable_notification: :obj:`typing.Union[base.Boolean, None]`
        :param reply_to_message_id: If the message is a reply, ID of the original message
        :type reply_to_message_id: :obj:`typing.Union[base.Integer, None]`
        :param reply_markup: Additional interface options
        :type reply_markup: :obj:`typing.Union[types.InlineKeyboardMarkup,
            types.ReplyKeyboardMarkup, types.ReplyKeyboardRemove, types.ForceReply, None]`
        :return: On success, the sent Message is returned
        :rtype: :obj:`types.Message`