Quick Start

Last updated: Mar 15th, 2021

Laravel

LemurEngine LemurBots is written for the Laravel framework.

The first step is to install and set up your version of Laravel.

For more information on how to install Laravel, check out: https://laravel.com/docs/9.x/installation

Use the --with-all-dependencies flag to update any conflicting packages the first time it's run

Versioning

This package is built for Laravel 9.x

Compatible Laravel versions are reflected in the LemurBot versions.

LemurBot 9.x versions are compatible with Laravel 9.x versions

Prerequisites

This has been developed for PHP 8.0

Install With Composer

Use the --with-all-dependencies flag to update any conflicting packages the first time its run

composer require lemurengine/lemurbot dev-develop --with-all-dependencies

TL/DR Setup Application Steps

If you do not want to read what the commands actually do and you just want run them then here they are.
Only use these command on a FRESH installation of laravel.

php artisan vendor:publish --tag=lemurbot-template --force
php artisan vendor:publish --tag=lemurbot-auth --force
php artisan vendor:publish --tag=lemurbot-assets
php artisan vendor:publish --tag=lemurbot-widgets
php artisan vendor:publish --tag=lemurbot-config
php artisan vendor:publish --tag=datatables
php artisan vendor:publish --tag=datatables-buttons
php artisan vendor:publish --tag=datatables-html
php artisan vendor:publish --tag=datatables-fractal
php artisan vendor:publish --tag=lemurbot-examples
php artisan vendor:publish --tag=lemurbot-migrations
php artisan migrate
php artisan storage:link
php artisan lemur:install-all --admin=admin@lemurengine.local --bot=mybot --data=max

Full Setup Application Steps

LemurEngine LemurBots is written for the Laravel framework.
The first step is to install and setup your version of Laravel.
For more information on how to install Laravel check out: https://laravel.com/docs/9.x/installation.

Publish Auth Templates/Controllers (recommended)

Publish Public Assets (required)

This will copy the required asset files to your public folder.

This is required to make forms and validation features work correctly

php artisan vendor:publish --tag=lemurbot-assets

Publish Public Widgets (required)

This will copy the widgets to the public widgets' folder

php artisan vendor:publish --tag=lemurbot-widgets

Publish Config (required)

This will copy the lemur bot config files to config/lemurbot

  • config/lemurbot/lemur.php
  • config/lemurbot/properties.php
php artisan vendor:publish --tag=lemurbot-config

Publish Datatables Config And Assets (required)

This application uses the Yajra datatables plugin.

https://yajrabox.com/docs/laravel-datatables

If you need to publish the config, run the following command

php artisan vendor:publish --tag=datatables php artisan vendor:publish --tag=datatables-buttons php artisan vendor:publish --tag=datatables-html php artisan vendor:publish --tag=datatables-fractal

Publish Example Tags and Plugins (optional)

This will copy the example HelloWorldTag and EchoTag to the App\LemurTag folder

And will copy the example MaintainMode and ShoutBack to the App\LemurPlugin folder

php artisan vendor:publish --tag=lemurbot-examples

Publish Database Migrations (optional)

This will copy the lemur engine migration files to database/migration/lemurbot

You don't really need to do this.

But you can if you want to.

php artisan vendor:publish --tag=lemurbot-migrations

Run the database migrations (required)

The following command will create or update your existing database table schema.

php artisan migrate

Run the command to install a user, a bot, and the AIML data

If you are migrating or already have this data, you probably will not need to run this (see the section at the top of the page about migrating)

php artisan lemur:install-all --admin=[admin_email] --bot=[bot_name] --data=[none|min|max]

example:

php artisan lemur:install-all --admin=admin@lemurengine.local --bot=mybot --data=max

-`admin_email` is the email address you will log in with. Your password will be 'password' which you should change

-`bot_name` is the name you will give your bot

-`--data=` (none|min|max) determines how much AIML data you want in your bot

Start the Application

You can start the application now and log in using the username you entered above and the password 'password'.

Don't forget to change your password.

php artisan serve

Use

Talk to your bot here:

http://127.0.0.1:8000

Log in to admin your bot here:

http://127.0.0.1:8000/login

Migrating From theramenrobotdiscocode/lemur-engine

The original version of this library was released as an entire application which included a checked in version of Laravel 7.

It is easy to migrate your original version of theramenrobotdiscocode/lemur-engine to this version.

There are NO database schema changes just some minor data changes and file location changes.

We suggest you install a new fresh copy of Laravel 9 and configure it to connect to your existing database.

You will need to still follow the fresh installation instructions below.

And anyway "Additional Upgrade Steps" as well.

Additional Upgrade Step: Custom Tag

Only do this is you are migrating from the old project.

Move any custom tags which you have created to a folder called in the main app folder called LemurTag like so:

app/
├── LemurTag/
│   ├── YourTag.php
│   ├── HelloWorldTag.php
└── Models/

You will need to change the namespace of your custom tags to namespace App\LemurTag;

Please look at the HelloWorldTag for an example.

Additional Upgrade Step: Run the command to update a few filenames in the migrations folder

Only do this is you are migrating from the old project.

There are 4 filenames in the migration table which need reverting to their original Laravel Migration filenames.

Run this command to update the 4 filenames in the migrations table before you move onto the next step:

php artisan lemur:upgrade 9.0.0

Additional Upgrade Step: Run the command to update the user to an admin user

Only do this is you are migrating from the old project.

If you have existing data and want to give a user bot_admin privileges you can run this command:

php artisan lemur:install-admin --admin=[admin_email]

Chatbot Consultants

If you need help with customisation or a bespoke feature - then get in touch with us over that theramenrobotdiscocode.com and let's see how we can help.

Get In Touch