Symfony Bundle 用于亚马逊Alexa技能。

安装次数: 1,843

依赖者: 0

建议者: 0

安全: 0

星标: 12

关注者: 2

分支: 2

公开问题: 1

类型:symfony-bundle

1.2.0 2022-10-21 12:12 UTC

This package is auto-updated.

Last update: 2024-09-25 11:15:34 UTC


README

此Bundle是一个简单的助手,用于创建亚马逊Echo(Alexa)端点以连接到您的symfony项目。您只需要将Bundle添加到项目中,并为alexa请求创建一些处理器,并在亚马逊Alexa后端中进行配置。

通过Composer安装

通过Composer要求该Bundle

composer require maxbeckers/amazon-alexa-bundle

启用路由

然后将Bundle端点添加到config/routes.yaml

# config/routes.yaml
maxbeckers_amazon_alexa:
    path:     /alexa/ # the url, the alexa endpoint should be available 
    defaults: { _controller: MaxBeckers\AmazonAlexaBundle\Controller\AmazonAlexa::amazonRequest }

创建处理器

要为Alexa添加处理器,请将它们创建为服务,并用maxbeckers_amazon_alexa.request_handler标记。有关创建处理器的方法,请参阅maxbeckers/amazon-alexa-php

services:
    example.my_handler:
        class: Example\MyIntentHandler
        arguments:
            - '@maxbeckers_amazon_alexa.response_helper' # ResponseHelper
        tags:
            - 'maxbeckers_amazon_alexa.request_handler'

生成ssml

对于ssml,使用maxbeckers_amazon_alexa.ssml_generator服务来创建有效的ssml。

$ssmlGenerator = $this->get('maxbeckers_amazon_alexa.ssml_generator');

// add a message
$ssmlGenerator->say('Hallo World');
$ssml = $ssmlGenerator->getSsml();
// $ssml === '<speak>Hallo World</speak>'