PHPackages                             casperlaitw/laravel-fb-messenger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. casperlaitw/laravel-fb-messenger

ActiveLibrary[API Development](/categories/api)

casperlaitw/laravel-fb-messenger
================================

A Laravel Package to Integrate Facebook Messenger API

v3.0.0(4y ago)10631.5k↓33.3%26[7 issues](https://github.com/CasperLaiTW/laravel-fb-messenger/issues)MITPHPPHP ^7.2.5|^7.3|^8.0

Since Oct 12Pushed 4y ago8 watchersCompare

[ Source](https://github.com/CasperLaiTW/laravel-fb-messenger)[ Packagist](https://packagist.org/packages/casperlaitw/laravel-fb-messenger)[ Docs](https://github.com/casperlaitw/laravel-fb-messenger)[ RSS](/packages/casperlaitw-laravel-fb-messenger/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (12)Versions (41)Used By (0)

Laravel Facebook Messenger Provider
===================================

[](#laravel-facebook-messenger-provider)

[![Build Status](https://camo.githubusercontent.com/d7cd61eb8043d5c2b51e6028e507bab624a9433891566a0a7b07d6babbf23fa7/68747470733a2f2f7472617669732d63692e6f72672f4361737065724c616954572f6c61726176656c2d66622d6d657373656e6765722e737667)](https://travis-ci.org/CasperLaiTW/laravel-fb-messenger)[![Coverage Status](https://camo.githubusercontent.com/ee00e658a3209dd9c956097538320db071a132a05538f84da1b910324822b13b/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f4361737065724c616954572f6c61726176656c2d66622d6d657373656e6765722f62616467652e737667)](https://coveralls.io/github/CasperLaiTW/laravel-fb-messenger)[![StyleCI](https://camo.githubusercontent.com/6708fbc62494c45c0f83313fd25e624f33c751b69ce6bb8f1a1d22eb89b243cf/68747470733a2f2f7374796c6563692e696f2f7265706f732f36363936383838382f736869656c64)](https://styleci.io/repos/66968888)[![Latest Stable Version](https://camo.githubusercontent.com/09222ef9bc7f256264f74d1108b2b5bafe15e222fd2a6f3f7c7583a9170983ce/68747470733a2f2f706f7365722e707567782e6f72672f6361737065726c616974772f6c61726176656c2d66622d6d657373656e6765722f762f737461626c65)](https://packagist.org/packages/casperlaitw/laravel-fb-messenger)[![Latest Unstable Version](https://camo.githubusercontent.com/dfba2330506d83875507490c8bcaa2223d99d2ba77a153b80a7c5adc6f4c4745/68747470733a2f2f706f7365722e707567782e6f72672f6361737065726c616974772f6c61726176656c2d66622d6d657373656e6765722f762f756e737461626c65)](https://packagist.org/packages/casperlaitw/laravel-fb-messenger)[![Total Downloads](https://camo.githubusercontent.com/db15ef789b52433cd948fdadab7162d88d7935e1b01555b5df39355387be5f0c/68747470733a2f2f706f7365722e707567782e6f72672f6361737065726c616974772f6c61726176656c2d66622d6d657373656e6765722f646f776e6c6f616473)](https://packagist.org/packages/casperlaitw/laravel-fb-messenger)[![Monthly Downloads](https://camo.githubusercontent.com/f32313e816f469ccdfeddab03f0babbbc7a68c38bf70ae44fcffdf0361c42538/68747470733a2f2f706f7365722e707567782e6f72672f6361737065726c616974772f6c61726176656c2d66622d6d657373656e6765722f642f6d6f6e74686c79)](https://packagist.org/packages/casperlaitw/laravel-fb-messenger)

This is a laravel package for Facebook Messenger Platform API.

Easy to making your facebook messenger chatbot.

Installation
------------

[](#installation)

### Composer

[](#composer)

```
composer require casperlaitw/laravel-fb-messenger
```

Laravel
-------

[](#laravel)

### Add Provider

[](#add-provider)

In your `config/app.php` add `Casperlaitw\LaravelFbMessenger\LaravelFbMessengerServiceProvider::class` to the providers array:

```
'providers' => [
    ...
    Casperlaitw\LaravelFbMessenger\LaravelFbMessengerServiceProvider::class,
    ...
],

'alias => [
    ...
    'Menu' => Casperlaitw\LaravelFbMessenger\Facades\MessengerMenu::class,
    ...
],
```

### Publish Configuration

[](#publish-configuration)

```
php artisan vendor:publish --provider="Casperlaitw\LaravelFbMessenger\LaravelFbMessengerServiceProvider" --tag="config"
```

### Publish Menu Configure

[](#publish-menu-configure)

Support define persistent menu in file.

Define persistent menu like laravel routes.

[document](https://github.com/CasperLaiTW/laravel-fb-messenger/wiki/Commands#fbmenus)

```
php artisan vendor:publish --provider="Casperlaitw\LaravelFbMessenger\LaravelFbMessengerServiceProvider" --tag="menu"
```

Configuration
-------------

[](#configuration)

### Security

[](#security)

Almost every API request with `access_token`, if you want to improved security in your app, you can use `appsecret_proof`. Please add `MESSENGER_APP_SECRET` to `.env` file and enable proof on all calls. *If you don't know how to get secret token and enabled proof, please checkout [Graph Api](https://developers.facebook.com/docs/graph-api/securing-requests)*

`.env`

```
MESSENGER_APP_SECRET="APP SECRET TOKEN"

```

### Token

[](#token)

Add you token to `.env` file or modify `fb-messenger.php` config.

*If you don't know how to get token, please checkout [Facebook Developer](https://developers.facebook.com/docs/messenger-platform/quickstart)*

`.env`

```
...
MESSENGER_VERIFY_TOKEN="By You Writing"
MESSENGER_APP_TOKEN="Page Access Token"
...

```

### Custom Url

[](#custom-url)

If you want to custom url, replace `/webhook` to you want.

Finally, you can run `php artisan route:list` to check.

```
 return [
     'verify_token' => env('MESSENGER_VERIFY_TOKEN'),
     'app_token' => env('MESSENGER_APP_TOKEN'),
     'auto_typing' => true,
     'handlers' => [App\DefaultHandler::class],
     'custom_url' => '/chatbot', // like this
     'postbacks' => [],
 ];
```

### Custom Handler

[](#custom-handler)

The `DefaultHandler` will reply the same words to user.

You can check out [DefaultHandler](https://github.com/CasperLaiTW/laravel-fb-messenger/blob/master/src/Contracts/DefaultHandler.php)

Handler **MUST BE** extends `BaseHandler`.

```
