# robot.sdk package

## Submodules

## robot.sdk.AbstractPlugin module

class `robot.sdk.AbstractPlugin.``AbstractPlugin`(con)

  基类：`object`

  技能插件基类

  `IS_IMMERSIVE` = False
  `SLUG` = 'AbstractPlugin'
  `activeListen`(silent=False)
  `clearImmersive`()
  `handle`(query, parsed)

    处理逻辑

    参数： query – 用户的指令字符串 parsed – 用户指令经过 NLU 解析后的结果

  `isValid`(query, parsed)

    是否适合由该插件处理

    参数： query – 用户的指令字符串 parsed – 用户指令经过 NLU 解析后的结果

    返回： True: 适合由该插件处理 False: 不适合由该插件处理

  `isValidImmersive`(query, parsed)

    是否适合在沉浸模式下处理， 仅适用于有沉浸模式的插件（如音乐等） 当用户唤醒时，可以响应更多指令集。 例如：“”上一首”、”下一首” 等

  `pause`()

    暂停当前正在处理的任务， 当处于该沉浸模式下且被唤醒时， 将自动触发这个方法， 可以用于强制暂停一个耗时的操作

  `play`(src, delete=False, onCompleted=None, volume=1)
  `restore`()

    恢复当前插件， 仅适用于有沉浸模式的插件（如音乐等） 当用户误唤醒或者唤醒进行闲聊后， 可以自动恢复当前插件的处理逻辑

  `say`(text, cache=False, onCompleted=None, wait=False)

## robot.sdk.AliSpeech module

`robot.sdk.AliSpeech.``asr`(appKey, token, wave_file)

`robot.sdk.AliSpeech.``process`(request, token, audioContent)

`robot.sdk.AliSpeech.``processGETRequest`(appKey, token, voice, text, format, sampleRate)

`robot.sdk.AliSpeech.``processPOSTRequest`(appKey, token, voice, text, format, sampleRate)

`robot.sdk.AliSpeech.``tts`(appKey, token, voice, text)

## robot.sdk.RASRsdk module

`robot.sdk.RASRsdk.``formatSignString`(param)

`robot.sdk.RASRsdk.``randstr`(n)

`robot.sdk.RASRsdk.``sendVoice`(secret_key, secretid, appid, engine_model_type, res_type, result_text_format, voice_format, filepath, cutlength, template_name='')

`robot.sdk.RASRsdk.``sign`(signstr, secret_key)

## robot.sdk.TencentSpeech module

Tencent ASR && TTS API

class `robot.sdk.TencentSpeech.``tencentSpeech`(SECRET_KEY, SECRET_ID)

  基类：`object`

  `ASR`(URL, voiceformat, sourcetype, region)
  `PrimaryLanguage`
  `Region`
  `SECRET_ID`
  `SECRET_KEY`
  `SourceType`
  `TTS`(text, voicetype, primarylanguage, region)
  `Text`
  `URL`
  `VoiceFormat`
  `VoiceType`
  `encode_sign`(signstr, SECRET_KEY)
  `formatSignString`(config_dict)
  `oneSentenceRecognition`()
  `primarylanguage`
  `region`
  `secret_id`
  `secret_key`
  `source_type`
  `text`
  `textToSpeech`()
  `url`
  `voiceformat`
  `voicetype`

## robot.sdk.XunfeiSpeech module

class `robot.sdk.XunfeiSpeech.``Ws_Param`(APPID, APIKey, APISecret, AudioFile)

  基类：`object`

  `create_url`()

`robot.sdk.XunfeiSpeech.``on_close`(ws)

`robot.sdk.XunfeiSpeech.``on_error`(ws, error)

`robot.sdk.XunfeiSpeech.``on_message`(ws, message)

`robot.sdk.XunfeiSpeech.``on_open`(ws)

`robot.sdk.XunfeiSpeech.``transcribe`(fpath, appid, api_key, api_secret)

  科大讯飞ASR

## robot.sdk.unit module

`robot.sdk.unit.``getIntent`(parsed)

  提取意图

  参数: | parsed – UNIT 解析结果
  返回: | 意图数组

`robot.sdk.unit.``getSay`(parsed, intent='')

  提取 UNIT 的回复文本

  参数: | parsed – UNIT 解析结果 intent – 意图的名称
  返回: | UNIT 的回复文本

`robot.sdk.unit.``getSlotWords`(parsed, intent, name)

  找出命中某个词槽的内容

  参数: | parsed – UNIT 解析结果 intent – 意图的名称 name – 词槽名
  返回: | 命中该词槽的值的列表。

`robot.sdk.unit.``getSlots`(parsed, intent='')

  > 提取某个意图的所有词槽

  > param parsed: | UNIT 解析结果
  > param intent: | 意图的名称
  > returns: | 词槽列表。你可以通过 name 属性筛选词槽，

  再通过 normalized_word 属性取出相应的值

`robot.sdk.unit.``getUnit`(query, service_id, api_key, secret_key)

  NLU 解析

  参数: | query – 用户的指令字符串 service_id – UNIT 的 service_id api_key – UNIT apk_key secret_key – UNIT secret_key
  返回: | UNIT 解析结果。如果解析失败，返回 None

`robot.sdk.unit.``get_token`(api_key, secret_key)

`robot.sdk.unit.``hasIntent`(parsed, intent)

  判断是否包含某个意图

  参数: | parsed – UNIT 解析结果 intent – 意图的名称
  返回: | True: 包含; False: 不包含

## Module contents