vohtinc/laravel-botanalytics

Laravel 的 Botanalytics 包装器

v1.0.0 2017-01-26 02:48 UTC

This package is auto-updated.

Last update: 2024-09-26 03:44:02 UTC


README

Build Status StyleCI

Laravel 的 Botanalytics 包装器

Botanalytics 是一个机器人分析服务,改善人与机器人交互。

安装

Composer

获取最新版本

composer require vohinc/laravel-botanalytics

添加提供者

config/app.php 中包含提供者

'providers' => [
    ...
    Vohinc\LaravelBotanalytics\BotanalyticsServiceProvider::class,
    ...
]

发布配置

php artisan vendor:publish --provider=Vohinc\LaravelBotanalytics\BotanalyticsServiceProvider --tag=config

配置

设置 Botanalytics Token

将您的 botanalytics token 添加到 .env

BOTANALYTICS_TOKEN=botanalytics-token

用法

接收消息

<?php
namespace App;

use Vohinc\LaravelBotanalytics\BotanalyticsFacade;
use Closure;

class BotAnalyticsMiddleware
{
    /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {
            $body = $request->all();
            if (array_get($body, 'object') === 'page') {
                BotanalyticsFacade::facebook()->request([
                    'recipient' => null,
                    'message' => $body,
                ]);
            }
    
            return $next($request);
        }
}

发送消息

<?php
namespace App;

use Vohinc\LaravelBotanalytics\BotanalyticsFacade;
use Illuminate\Http\Request;

class WebhookController extends Controller
{
    public function request(Request $request)
    {
        $message = [
            'recipient' => [
                'id' => 'Sender ID',    
            ],
            'message' => [
                'text' => 'hello, world!',    
            ],
        ];
        
        // response $message to Facebook
        
        // Send to botanalytics
        BotanalyticsFacade::facebook()->request([
            'recipient' => array_get($message, 'recipient.id'),
            'message' => array_get($message, 'message'),
        ]);
    }
}

许可证

此软件包受 MIT 许可证 的许可。