承接 samiaraboglu/fb-messenger-bot-php 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

samiaraboglu/fb-messenger-bot-php

Composer 安装命令:

composer require samiaraboglu/fb-messenger-bot-php

包简介

README 文档

README

Latest Stable Version Total Downloads License

Installing

Via composer

$ composer require samiaraboglu/fb-messenger-bot-php

Config

$messenger = new \FbMessengerBot\Messenger('<YOUR_ACCESS_TOKEN>');

Conversation Components

Use the message class

$message = new \FbMessengerBot\Message();

Text Message

$message->text('<MESSAGE_TEXT>');

Assets & Attachments

Audio
$message->audio('<URL.mp3>');
Video
$message->video('<URL.mp4>');
Image
$message->image('<URL.jpg>');
File
$message->file('<URL.pdf>');

Message Templates

Button Template

URL Button
// simple
$message->url('<MESSAGE_TEXT>', '<BUTTON_TITLE>', '<BUTTON_URL>');
// multiple
$message->button('<MESSAGE_TEXT>', [
    [
        'title' => '<BUTTON_TITLE>',
        'url' => '<BUTTON_URL>'
    ],
    [
        'title' => '<BUTTON_TITLE>',
        'url' => '<BUTTON_URL>'
    ],
    [
        ...
    ],
    [...]
]);
Postback Button
// simple
$message->postback('<MESSAGE_TEXT>', '<BUTTON_TITLE>', '<POSTBACK_PAYLOAD>');
// multiple
$message->button('<MESSAGE_TEXT>', [
    [
        'type' => 'postback',
        'title' => '<BUTTON_TITLE>',
        'payload' => '<POSTBACK_PAYLOAD>'
    ],
    [
        ...
    ],
    [...]
]);
Share Button
// TO DO
Buy Button
// TO DO
Call Button
// simple
$message->call('<MESSAGE_TEXT>', '<BUTTON_TITLE>', '+<COUNTRY_CODE><PHONE_NUMBER>');
// multiple
$message->button('<MESSAGE_TEXT>', [
    [
        'type' => 'phone_number',
        'title' => '<BUTTON_TEXT>',
        'payload' => '<PHONE_NUMBER>'
    ],
    [
        ...
    ],
    [...]
]);
Log In Button
$message->login('<MESSAGE_TEXT>', '<YOUR_LOGIN_URL>');
Log Out Button
$message->logout('<MESSAGE_TEXT>');
Game Play Button
// TO DO

Quick Replies

Text
// simple
$message->quickReplie('<MESSAGE_TEXT>', '<BUTTON_TITLE>', '<POSTBACK_PAYLOAD>');
// multiple
$message->quickReplies('<MESSAGE_TEXT>', [
    [
        'title' => '<BUTTON_TITLE>',
        'payload' => '<POSTBACK_PAYLOAD>'
    ],
    [
        ...
    ],
    [...]
]);
Text With Image
// simple
$message->quickReplie('<MESSAGE_TEXT>', '<BUTTON_TITLE>', '<POSTBACK_PAYLOAD>', '<URL.jpg>');
// multiple
$message->quickReplies('<MESSAGE_TEXT>', [
    [
        'title' => '<BUTTON_TITLE>',
        'payload' => '<POSTBACK_PAYLOAD>',
        'image' => '<URL.jpg>'
    ],
    [
        ...
    ],
    [...]
]);
Location
// simple
$message->location('<MESSAGE_TEXT>');
// multiple
$message->quickReplies('<MESSAGE_TEXT>', [
    [
        'type' => 'location'
    ],
    [
        ...
    ],
    [...]
]);
Phone Number
// simple
$message->phoneNumber('<MESSAGE_TEXT>');
// multiple
$message->quickReplies('<MESSAGE_TEXT>', [
    [
        'type' => 'user_phone_number'
    ],
    [
        ...
    ],
    [...]
]);
Email
// simple
$message->email('<MESSAGE_TEXT>');
// multiple
$message->quickReplies('<MESSAGE_TEXT>', [
    [
        'type' => 'user_email'
    ],
    [
        ...
    ],
    [...]
]);

Send Message

Require page-scoped ID (PSID)

$response = $messenger->send(<PSID>, $message);

Example response

// response print
Array
(
    [recipient_id] => <PSID>
    [message_id] => mid.$cAAoZdzlbwyxoOR257liB9xxxxxx
)

Saving Assets for Attachments

Send second parameter true. Supported asset types: image audio video file

$message->image('<URL.jpg>', true);

Example response

// response print
Array
(
    [recipient_id] => <PSID>
    [message_id] => mid.$cAAcZdzlzwkxoQ6ss8ViEmxxxxxx
    [attachment_id] => 1200933831599999
)

Send message with attachment_id

$message->image(<ATTACHMENT_ID>);

Get Body

$body = $messenger->getBody();

// body print
Array
(
    [recipient] => Array
        (
            [id] => ...
        )

    [message] => Array
        (
            [attachment] => Array
                (
                    [type] => image
                    [payload] => Array
                        (
                            [url] => https://...
                        )

                )

        )

    [access_token] => ...
)

Sender Actions

Action types: mark_seen typing_on typing_off

$response = $messenger->senderAction(<PSID>, '<ACTION_TYPE>');

Webhooks

This for require verify_token

Config

$messenger = new \FbMessengerBot\Messenger('<YOUR_ACCESS_TOKEN>', '<YOUR_VERIFY_TOKEN>');

Listen to user messages.

$response = $messenger->listen();

samiaraboglu/fb-messenger-bot-php 适用场景与选型建议

samiaraboglu/fb-messenger-bot-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30.99k 次下载、GitHub Stars 达 10, 最近一次更新时间为 2017 年 04 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「facebook」 「Messenger」 「facebook-messenger」 「facebook-messenger-bot」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 samiaraboglu/fb-messenger-bot-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 samiaraboglu/fb-messenger-bot-php 我们能提供哪些服务?
定制开发 / 二次开发

基于 samiaraboglu/fb-messenger-bot-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 30.99k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 12
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 2
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-04-11