tgallice / wit-php
Wit.ai php sdk
Installs: 25 067
Dependents: 2
Suggesters: 0
Security: 0
Stars: 68
Watchers: 9
Forks: 16
Open Issues: 8
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- phpspec/phpspec: ~2.0
This package is not auto-updated.
Last update: 2024-11-09 19:33:39 UTC
README
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.