adolphyu / laravel-facebook-messenger
Laravel Facebook Messenger API 集成包
Requires
- php: ^7.3
- guzzlehttp/guzzle: ~6.0
- illuminate/support: ^5.5|^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^9.3
README
这是一个用于 Facebook Messenger 平台 API 的 Laravel 扩展包。
轻松制作你的 Facebook Messenger。
安装
Composer
composer require adolphyu/laravel-facebook-messenger
Laravel
添加提供者
在你的 config/app.php
文件中将 AdolphYu\FBMessenger\PackageServiceProvider::class
添加到 providers 数组中
'providers' => [ ... AdolphYu\FBMessenger\PackageServiceProvider::class, ... ], 'alias => [ ... 'FBMSG' => AdolphYu\FBMessenger\Facades\FBMSG::class, ... ],
发布配置
php artisan vendor:publish --provider="AdolphYu\FBMessenger\PackageServiceProvider" --tag="config"
配置
安全
几乎每个带有 access_token
的 API 请求,如果你想提高你应用的安全性,你可以使用 appsecret_proof
。请在 .env
文件中添加 MESSENGER_APP_SECRET
并在所有调用上启用证明。 如果你不知道如何获取密钥和启用证明,请参阅 Graph Api
.env
MESSENGER_APP_SECRET="APP SECRET TOKEN"
令牌
将你的令牌添加到 .env
文件或修改 fb-messenger.php
配置。
如果你不知道如何获取令牌,请参阅 Facebook 开发者
.env
...
MESSENGER_VERIFY_TOKEN="By You Writing"
MESSENGER_APP_TOKEN="Page Access Token"
...
自定义 URL
如果你想自定义 URL,将 /webhook
替换为你想要的。
最后,你可以运行 php artisan route:list
来检查。
return [ 'verify_token' => env('MESSENGER_VERIFY_TOKEN'), 'app_token' => env('MESSENGER_APP_TOKEN'), 'custom_url' => '/chatbot', // like this ];
接收消息
处理
Process
将处理 Facebook Messenger 发送的信息
Process
必须实现 ProcessInterface
接口。在 ProcessInterface
中有一个 handle
方法,用于处理 Facebook Messenger 发送的信息
你可以查看 ProcessInterface
如果你需要添加或自定义处理,你必须实现此接口
<?php namespace App; use AdolphYu\FBMessenger\Processes\Process; class CustomProcess extends Process { public function handle($data) { //your code dd($data); } }
如果你想查看 $data
,可以参考 Webhook
在 AppServiceProvider
或其他 ServiceProvider
的 boot
方法中添加代码
<?php namespace App\Providers; use App\CustomProcess; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { // if($this->app->get('fbmsg')){ $this->app->get('fbmsg')->addProcess(new CustomProcess());//like this } } }
使用系统处理
发送消息
完成配置后,发送消息将变得非常简单
以下是一些示例
use AdolphYu\FBMessenger\Models\TextMessaging; Route::get('/', function () { FBMSG::send(new TextMessaging('<psid>','HELLO')); });
调试
如果你在 fb-messenger.php
文件中设置了 debug=true
,你将在日志文件中看到调试信息
感谢
https://github.com/CasperLaiTW/laravel-fb-messenger
许可
本软件包根据 MIT 许可协议 许可。