def create_bot()

in functions/source/lex_custom_lambda/lex_custom_lambda.py [0:0]


def create_bot(event):
    try:
        lex_prefix = event['ResourceProperties']['LexResourcesPrefix']
        if lex_prefix and not lex_prefix.endswith('_'):
           lex_prefix = lex_prefix + '_'
        else:
            lex_prefix = ''
        s3 = boto3.resource('s3')
        bucket_name = event['ResourceProperties']['BucketName']
        lex_json_key = event['ResourceProperties']['LexJsonKey']
        fulfillment_lambda_arn = event['ResourceProperties']['FulfillmentLambdaArn']
        bucket = s3.Bucket(bucket_name)
        lex_json_obj = bucket.Object(lex_json_key)
        lex_json = json.loads(lex_json_obj.get()["Body"].read().decode('utf-8'))
        new_lex_json = lex_json.copy()

        for intent in new_lex_json['resource']['intents']:
            fulfillmentActivityType = intent['fulfillmentActivity']['type']
            if fulfillmentActivityType == 'CodeHook':
                intent['fulfillmentActivity']['codeHook']['uri'] = fulfillment_lambda_arn

        bot_response = chatbot_utils.import_bot(new_lex_json, lex_prefix)
        return bot_response
    except Exception as ex:
        logger.error("Exception while trying to create Lex Bot : " + str(ex))
        return None