def from_array(array):
        """
        Deserialize a new InvoiceMessage from a given dictionary.

        :return: new InvoiceMessage instance.
        :rtype: InvoiceMessage
        """
        if array is None or not array:
            return None
        # end if
        assert_type_or_raise(array, dict, parameter_name="array")
        from pytgbot.api_types.sendable.payments import LabeledPrice
        from pytgbot.api_types.sendable.reply_markup import InlineKeyboardMarkup
        

        data = {}
        data['title'] = u(array.get('title'))
        data['description'] = u(array.get('description'))
        data['payload'] = u(array.get('payload'))
        data['provider_token'] = u(array.get('provider_token'))
        data['start_parameter'] = u(array.get('start_parameter'))
        data['currency'] = u(array.get('currency'))
        data['prices'] = LabeledPrice.from_array_list(array.get('prices'), list_level=1)
        if array.get('chat_id') is None:
            data['receiver'] = None
        elif isinstance(array.get('chat_id'), None):
            data['receiver'] = None(array.get('chat_id'))
        elif isinstance(array.get('chat_id'), str):
            data['receiver'] = u(array.get('chat_id'))
        elif isinstance(array.get('chat_id'), int):
            data['receiver'] = int(array.get('chat_id'))
        else:
            raise TypeError('Unknown type, must be one of None, str, int or None.')
        # end if
        if array.get('reply_to_message_id') is None:
            data['reply_id'] = None
        elif isinstance(array.get('reply_to_message_id'), DEFAULT_MESSAGE_ID):
            data['reply_id'] = DEFAULT_MESSAGE_ID(array.get('reply_to_message_id'))
        elif isinstance(array.get('reply_to_message_id'), int):
            data['reply_id'] = int(array.get('reply_to_message_id'))
        else:
            raise TypeError('Unknown type, must be one of DEFAULT_MESSAGE_ID, int or None.')
        # end if
        data['provider_data'] = u(array.get('provider_data')) if array.get('provider_data') is not None else None
        data['photo_url'] = u(array.get('photo_url')) if array.get('photo_url') is not None else None
        data['photo_size'] = int(array.get('photo_size')) if array.get('photo_size') is not None else None
        data['photo_width'] = int(array.get('photo_width')) if array.get('photo_width') is not None else None
        data['photo_height'] = int(array.get('photo_height')) if array.get('photo_height') is not None else None
        data['need_name'] = bool(array.get('need_name')) if array.get('need_name') is not None else None
        data['need_phone_number'] = bool(array.get('need_phone_number')) if array.get('need_phone_number') is not None else None
        data['need_email'] = bool(array.get('need_email')) if array.get('need_email') is not None else None
        data['need_shipping_address'] = bool(array.get('need_shipping_address')) if array.get('need_shipping_address') is not None else None
        data['send_phone_number_to_provider'] = bool(array.get('send_phone_number_to_provider')) if array.get('send_phone_number_to_provider') is not None else None
        data['send_email_to_provider'] = bool(array.get('send_email_to_provider')) if array.get('send_email_to_provider') is not None else None
        data['is_flexible'] = bool(array.get('is_flexible')) if array.get('is_flexible') is not None else None
        data['disable_notification'] = bool(array.get('disable_notification')) if array.get('disable_notification') is not None else None
        data['reply_markup'] = InlineKeyboardMarkup.from_array(array.get('reply_markup')) if array.get('reply_markup') is not None else None
        return InvoiceMessage(**data)
def from_array ( array ) : if array is None or not array : return None assert_type_or_raise ( array , dict , parameter_name = "array" ) from pytgbot . api_types . sendable . payments import LabeledPrice from pytgbot . api_types . sendable . reply_markup import InlineKeyboardMarkup data = { } data [ 'title' ] = u ( array . get ( 'title' ) ) data [ 'description' ] = u ( array . get ( 'description' ) ) data [ 'payload' ] = u ( array . get ( 'payload' ) ) data [ 'provider_token' ] = u ( array . get ( 'provider_token' ) ) data [ 'start_parameter' ] = u ( array . get ( 'start_parameter' ) ) data [ 'currency' ] = u ( array . get ( 'currency' ) ) data [ 'prices' ] = LabeledPrice . from_array_list ( array . get ( 'prices' ) , list_level = 1 ) if array . get ( 'chat_id' ) is None : data [ 'receiver' ] = None elif isinstance ( array . get ( 'chat_id' ) , None ) : data [ 'receiver' ] = None ( array . get ( 'chat_id' ) ) elif isinstance ( array . get ( 'chat_id' ) , str ) : data [ 'receiver' ] = u ( array . get ( 'chat_id' ) ) elif isinstance ( array . get ( 'chat_id' ) , int ) : data [ 'receiver' ] = int ( array . get ( 'chat_id' ) ) else : raise TypeError ( 'Unknown type, must be one of None, str, int or None.' ) if array . get ( 'reply_to_message_id' ) is None : data [ 'reply_id' ] = None elif isinstance ( array . get ( 'reply_to_message_id' ) , DEFAULT_MESSAGE_ID ) : data [ 'reply_id' ] = DEFAULT_MESSAGE_ID ( array . get ( 'reply_to_message_id' ) ) elif isinstance ( array . get ( 'reply_to_message_id' ) , int ) : data [ 'reply_id' ] = int ( array . get ( 'reply_to_message_id' ) ) else : raise TypeError ( 'Unknown type, must be one of DEFAULT_MESSAGE_ID, int or None.' ) data [ 'provider_data' ] = u ( array . get ( 'provider_data' ) ) if array . get ( 'provider_data' ) is not None else None data [ 'photo_url' ] = u ( array . get ( 'photo_url' ) ) if array . get ( 'photo_url' ) is not None else None data [ 'photo_size' ] = int ( array . get ( 'photo_size' ) ) if array . get ( 'photo_size' ) is not None else None data [ 'photo_width' ] = int ( array . get ( 'photo_width' ) ) if array . get ( 'photo_width' ) is not None else None data [ 'photo_height' ] = int ( array . get ( 'photo_height' ) ) if array . get ( 'photo_height' ) is not None else None data [ 'need_name' ] = bool ( array . get ( 'need_name' ) ) if array . get ( 'need_name' ) is not None else None data [ 'need_phone_number' ] = bool ( array . get ( 'need_phone_number' ) ) if array . get ( 'need_phone_number' ) is not None else None data [ 'need_email' ] = bool ( array . get ( 'need_email' ) ) if array . get ( 'need_email' ) is not None else None data [ 'need_shipping_address' ] = bool ( array . get ( 'need_shipping_address' ) ) if array . get ( 'need_shipping_address' ) is not None else None data [ 'send_phone_number_to_provider' ] = bool ( array . get ( 'send_phone_number_to_provider' ) ) if array . get ( 'send_phone_number_to_provider' ) is not None else None data [ 'send_email_to_provider' ] = bool ( array . get ( 'send_email_to_provider' ) ) if array . get ( 'send_email_to_provider' ) is not None else None data [ 'is_flexible' ] = bool ( array . get ( 'is_flexible' ) ) if array . get ( 'is_flexible' ) is not None else None data [ 'disable_notification' ] = bool ( array . get ( 'disable_notification' ) ) if array . get ( 'disable_notification' ) is not None else None data [ 'reply_markup' ] = InlineKeyboardMarkup . from_array ( array . get ( 'reply_markup' ) ) if array . get ( 'reply_markup' ) is not None else None return InvoiceMessage ( ** data )
Deserialize a new InvoiceMessage from a given dictionary.

        :return: new InvoiceMessage instance.
        :rtype: InvoiceMessage