Skip to content
Wit.ai php sdk
PHP
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec Rework action mapping (#24) Jan 8, 2017
src Fix scrutinizer warning Jan 8, 2017
.gitignore Initial commmit Apr 20, 2016
.scrutinizer.yml Initial commmit Apr 20, 2016
.travis.yml Initial commmit Apr 20, 2016
LICENSE Initial commmit Apr 20, 2016
README.md Rework action mapping (#24) Jan 8, 2017
composer.json Remove the unnecessary logger Apr 21, 2016
phpspec-scrutinizer.yml Initial commmit Apr 20, 2016
phpspec.yml Initial commmit Apr 20, 2016

README.md

Wit.ai PHP sdk

Scrutinizer Code Quality Code Coverage Build Status

This is an unofficial php sdk for Wit.ai and it's still in progress...

Wit.ai: Easily create text or voice based bots that humans can chat with on their preferred messaging platform.

## Install:

Via composer:

$ composer require tgallice/wit-php

Usage:

Using the low level Client:


require_once __DIR__.'/vendor/autoload.php';

use Tgallice\Wit\Client;

$client = new Client('app_token');

$response = $client->get('/message', [
    'q' => 'Hello I live in London',
]);

// Get the decoded body
$intent = json_decode((string) $response->getBody(), true);

You can used the Message api class to extract meaning of a sentence:


require_once __DIR__.'/vendor/autoload.php';

use Tgallice\Wit\Client;
use Tgallice\Wit\MessageApi;

$client = new Client('app_token');
$api = new MessageApi($client);

$meaning = $api->extractMeaning('Hello I live in London');

Conversation

The Conversation class provides an easy way to use the converse api and execute automatically the chaining steps :

First, you need to create an ActionMapping class to customize the actions behavior.


namespace Custom;

use Tgallice\Wit\Model\Step\Action;
use Tgallice\Wit\Model\Step\Message;

class MyActionMapping extends ActionMapping
{
    /**
     * @inheritdoc
     */
    public function action($sessionId, Context $context, Action $step)
    {
        return call_user_func_array(array($this, $step->getAction()), array($sessionId, $context));
    }

    /**
     * @inheritdoc
     */
    public function say($sessionId, Context $context, Message $step)
    {
        echo $step->getMessage();
    }

     ....
}

And using it in the Conversation class.


require_once __DIR__.'/vendor/autoload.php';

use Tgallice\Wit\Client;
use Tgallice\Wit\ConverseApi;
use Tgallice\Wit\Conversation;
use Custom\MyActionMapping;

$client = new Client('app_token');
$api = new ConverseApi($client);
$actionMapping = new MyActionMapping();
$conversation = new Conversation($api, $actionMapping);

$context = $conversation->converse('session_id', 'Hello I live in London');

Conversation::converse() return the last available Context.

Some examples are describe in the tgallice/php-wit-example repository.

You can’t perform that action at this time.