Overview

Namespaces

  • Baidu
    • Duer
      • Botsdk
        • Card
        • Directive
          • AppLauncher
          • AudioPlayer
          • WebBrowser
        • Plugins

Classes

  • Bot
  • Certificate
  • Intercept
  • Log
  • Nlu
  • Request
  • Response
  • Session

Traits

  • DataObject
  • Overview
  • Namespace
  • Class

Class Bot

Abstract
Namespace: Baidu\Duer\Botsdk
Located at Bot.php
Methods summary
public null
# __construct( array $postData = [], string $privateKey = '' )

构造函数

构造函数

Parameters

$postData
us对bot的数据。默认可以为空,sdk自行获取
$privateKey
私钥内容

Returns

null

Example

// 子类调用
parent::__construct($requestBody, $privateKey);
// 或者
parent::__construct($privateKey);

protected null
# addLaunchHandler( function $func )

Parameters

$func
处理函数。返回值作为response给DuerOS

Returns

null

Example

$this->addLaunchHandler(function(){
    return [
        'outputSpeech' => '欢迎使用'
    ];
});

Desc

添加对LaunchRequest 的处理函数
protected null
# addSessionEndedHandler( function $func )

Parameters

$func
处理函数。DuerOS不会使用该返回值

Returns

null

Example

$this->addSessionEndedHandler(function(){
     // TODO: clear status
});

Desc

添加对SessionEndedRequest 的处理函数
protected null
# addIntentHandler( string $intentName, function $func )

Parameters

$intentName
意图名称
$func
处理函数。返回值作为response给DuerOS

Returns

null

Example

$this->addIntentHandler('intentName', function(){
    return [
        'outputSpeech' => '你的意图,我已经处理好了'
    ];
});

Desc

添加对特定意图的处理函数
protected null
# addHandler( string $mix, function $func = null )

Parameters

$mix
条件,比如意图以'#'开头'#intentName';或者是'LaunchRequest'、'SessionEndedRequest'
$func
处理函数,满足$mix条件后执行该函数

Returns

null

Desc

条件处理。顺序相关,优先匹配先添加的条件: 1、如果满足,则执行,有返回值则停止 2、满足条件,执行回调返回null,继续寻找下一个满足的条件


protected null
# addIntercept( Baidu\Duer\Botsdk\Intercept $intercept )

Parameters

$intercept

Returns

null

Desc

拦截器 1、在event处理、条件处理之前执行Intercept.preprocess,返回非null,终止后续执行。将返回值返回 1、在event处理、条件处理之之后执行Intercept.postprocess


protected null
# addEventListener( string $event, function $func )

Parameters

$event
绑定的事件名称,比如AudioPlayer.PlaybackStarted
$func
处理函数,传入参数为事件的request,返回值做完response给DuerOS

Returns

null

Link

具体事件参考

Example

$this->addEventListener('AudioPlayer.PlaybackStarted', function($event){
    return [
        'outputSpeech' => '事件处理好啦',
    ];
});

Desc

绑定一个事件的处理回调。
public string
# getIntentName( )

Returns

string

Desc

快捷方法。获取第一个intent的名字
public string
# getSessionAttribute( string $field = null, string $default = null )

Parameters

$field
属性的key
$default
如果该字段为空,使用$default返回

Returns

string

Desc

快捷方法。获取session某个字段,与Session的getData功能相同
public
# setSessionAttribute( string $field, string $value, string $default = null )

Parameters

$field
属性的key
$value
对应的值
$default
如果$value为空,使用$default

Desc

快捷方法。设置session某个字段,与Session的setData功能相同。 $field = 'a.b.c' 表示设置session['a']['b']['c'] 的值


public null
# clearSessionAttribute( )

Returns

null

Desc

快捷方法。清空session,与Session的clear相同
public string
# getSlot( string $field, integer $index = 0 )

Parameters

$field
槽位名
$index
第几个intent,默认第一个

Returns

string

Desc

快捷方法。获取一个槽位的值,与Nlu中的getSlot相同
public string
# setSlot( string $field, string $value, integer $index = 0 )

Parameters

$field
槽位名
$value
槽位的值
$index
第几个intent,默认第一个

Returns

string

Desc

快捷方法。设置一个槽位的值,与Nlu中的setSlot相同
public null
# waitAnswer( )

Returns

null

Desc

告诉DuerOS,在多轮对话中,等待用户的回答。 注意:如果有设置Nlu的ask,SDK自动告诉DuerOS,无须调用


public null
# endDialog( )

Returns

null

Desc

告诉DuerOS,需要结束对话
public array|string
# run( boolean $build = true )

Parameters

$build
如果为false:不进行response封装,直接返回handler的result

Returns

array|string
封装后的结果为json string

Desc

事件路由添加后,需要执行此函数,对添加的条件、事件进行判断。 将第一个return 非null的结果作为此次的response


protected array
# dispatch( )

Returns

array
Properties summary
public $certificate
#
public $request

DuerOS对Bot的请求。instance of Request

DuerOS对Bot的请求。instance of Request

#
public $response

Bot返回给DuerOS的结果。instance of Response

Bot返回给DuerOS的结果。instance of Response

#
public $session

DuerOS提供的session。instance of Session 短时记忆能力

DuerOS提供的session。instance of Session 短时记忆能力

#
public $nlu

度秘NLU对query解析的结果。instance of Nlu

度秘NLU对query解析的结果。instance of Nlu

#
public $botMonitor

统计Bot运行中产生的技能数据。instance of BotMonitor

统计Bot运行中产生的技能数据。instance of BotMonitor

#
API documentation generated by ApiGen