airoude/messagebird-bundle

此包已被弃用且不再维护。未建议替代包。

MessageBird 与 Symfony

安装次数: 2,515

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 0

分支: 0

类型:symfony-bundle

此包尚未发布版本,信息有限。


README

Build Status Latest Stable Version Scrutinizer Quality Score Code Coverage

安装

步骤 1: 下载包

打开命令行控制台,进入您的项目目录并执行以下命令以下载此包的最新稳定版本

$ composer require airoude/messagebird-bundle "~0.2"

此命令需要您全局安装 Composer,具体请参考 Composer 文档中的安装章节

步骤 2: 启用包

然后,通过将其添加到项目 app/AppKernel.php 文件中注册的包列表来启用该包

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new Airoude\MessageBirdBundle\AiroudeMessageBirdBundle(),
        );

        // ...
    }

    // ...
}

步骤 3: 配置包

// app/config/config.yml

airoude_messagebird:
    api:
        access_key: "YOUR_ACCESS_KEY"
    vmn:
        enabled: true
    chat:
        channels:
            telegrambot:
                name: 'Test Channel Telegram'
                platform_id: 'e82d332c5649a5f911e569n69040697'
                botname: 'BayMaxBot'
                token: 'YOUR_TOKEN_KEY'

包含路由

// app/config/routing.yml

airoude_messagebird:
    resource: "@AiroudeMessagebirdBundle/Resources/config/routing.xml"
    prefix:   /messagebird

配置 MessageBird 端点至 https://acme-company.com/messagebird/(status|hlr|vmn|chat|shortcode)

使用示例

发送短信。

<?php

namespace Acme\DemoBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class HomeController extends Controller
{
    public function indexAction()
    {
        // ...

        $messagebird = $this->get('airoude.messagebird.client');

        $message             = new \MessageBird\Objects\Message();
        $message->originator = 'MessageBird';
        $message->recipients = array(31612345678);
        $message->body       = 'This is a test message.';

        $result = $messagebird->messages->create($message);

        // ...
    }
}
?>

接收回调

<?php

namespace Acme\DemoBundle\EventListener;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class SomeListener
{
    public function onStatus(StatusEvent $event)
    {
        // do something with event
    }
    
    public function onHlr(HlrEvent $event)
    {
        // do something with event
    }
    
    public function onChat(ChatEvent $event)
    {
        // do something with event
    }
    
    public function onVmn(VmnEvent $event)
    {
        // do something with event
    }
    
    public function onShortCode(ShortCodeEvent $event)
    {
        // do something with event
    }
}
?>
<?xml version="1.0" ?>
<container xmlns="https://symfony.com.cn/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="https://symfony.com.cn/schema/dic/services https://symfony.com.cn/schema/dic/services/services-1.0.xsd">
    <services>
        // ...

        <service id="some.listener" class="Acme\DemoBundle\EventListener\SomeListener">
            <tag name="kernel.event_listener" event="airoude.messagebird.status_callback" method="onStatus"/>
            <tag name="kernel.event_listener" event="airoude.messagebird.hlr_callback" method="onHlr"/>
            <tag name="kernel.event_listener" event="airoude.messagebird.chat_callback" method="onChat"/>
            <tag name="kernel.event_listener" event="airoude.messagebird.vmn_callback" method="onVmn"/>
            <tag name="kernel.event_listener" event="airoude.messagebird.shortcode_callback" method="onShortCode"/>
        </service>

        // ...
    </services>
</container>

测试

$ php composer.phar update
$ phpunit

许可证

此包采用 MIT 许可证。 查看完整许可证

致谢

作者 - Youssef Airoude