sm9sh / botman-bundle
BotMan 对 Symfony 的集成
Requires
- php: ^7.2|^8.1
- ext-curl: *
- ext-json: *
- botman/botman: ^2.4
- php-http/client-common: ^2.5
- php-http/client-implementation: ^1.0
- symfony/cache: ^3.4|^4.0|^6.0
- symfony/config: ^3.4|^4.0|^6.0
- symfony/console: ^3.4|^4.0|^6.0
- symfony/dependency-injection: ^3.4|^4.0|^6.0
- symfony/http-foundation: ^3.4|^4.0|^6.0
- symfony/http-kernel: ^3.4|^4.0|^6.0
- symfony/routing: ^3.4|^4.0|^6.0
- tightenco/collect: ^5.6
Requires (Dev)
- botman/driver-amazon-alexa: ^1.0
- botman/driver-botframework: ^1.0
- botman/driver-cisco-spark: ^1.0
- botman/driver-facebook: ^1.0
- botman/driver-hangouts: ^1.0
- botman/driver-hipchat: ^1.0
- botman/driver-kik: ^1.0
- botman/driver-nexmo: ^1.0
- botman/driver-slack: ^2.0
- botman/driver-telegram: ^1.0
- botman/driver-twilio: ^1.0
- botman/driver-twitter: ^1.0
- botman/driver-wechat: ^1.0
- illuminate/support: ^5.6
- matthiasnoback/symfony-config-test: ^4.0
- matthiasnoback/symfony-dependency-injection-test: ^3.0
- php-http/guzzle6-adapter: ^1.1
- php-http/httplug-bundle: ^1.11
- phpstan/phpstan: ^0.10.3
- phpstan/phpstan-phpunit: ^0.10.0
- phpstan/phpstan-symfony: ^0.10.1
- phpunit/phpunit: ^7.3
- symplify/easy-coding-standard: ^4.6
Suggests
- botman/driver-telegram: ^1.5
- php-http/httplug-bundle: ^1.11
README
BotMan 对 Symfony 的集成
这是一个用于在 Symfony 中使用 BotMan 框架的捆绑包。
支持的驱动器
仅支持标记的驱动器。有关更多信息,请参阅官方驱动器文档
- Amazon Alexa
- Cisco Spark
- Facebook Messenger
- Hangouts Chat
- HipChat
- Microsoft Bot Framework
- Nexmo
- Slack
- Telegram
- Twilio
- Web
- 微信
安装
步骤 1:下载捆绑包
通过运行以下命令使用 Composer 安装库
composer require sgomez/botman-bundle
步骤 2:启用捆绑包
如果您正在使用 Symfony Flex,则可以跳过此步骤。
在您的 app/AppKernel.php
文件中启用捆绑包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Sgomez\Bundle\BotmanBundle\BotmanBundle(), // ... ); }
步骤 3:配置捆绑包
您可以通过运行 console config:dump-reference botman
命令查看配置文件的模板。
botman: drivers: telegram: parameters: token: ~ facebook: parameters: token: ~ app_secret: ~ verification: ~ start_button_payload: ~ # Optional greeting: # Optional # Array of - locale: ~ # Required text: ~ # Required whitelisted_domains: [] # Optional
您只需要添加您想要使用的 drivers。
步骤 4:配置 webhook
在您的 routing.yaml 中添加 webhook 路由配置。
BotmanBundle: resource: . type: extra
默认的 webhook 路径 是 /botman
,但我们建议出于安全考虑更改它。
botman: path: /botman57637357-65ce-4faf-a9d9-ee2c13011d87
现在,您必须创建 webhook 控制器类。默认配置为 App\Controller\WebhookController
<?php // file: src/Controller/WebhookController.php declare(strict_types=1); namespace App\Controller; use BotMan\BotMan\BotMan; use Symfony\Component\HttpFoundation\Response; class WebhookController { public function __invoke(BotMan $bot): Response { // Add your logic here // Echo bot example $bot->fallback(function (BotMan $bot): void { $bot->reply($bot->getMessage()->getText()); }); // Stop touching $bot->listen(); return new Response('', Response::HTTP_OK); } }
如果您想更改控制器类或您不是使用 Symfony Flex,则需要在配置文件中指定控制器类。
botman: controller: AppBundle\Controller\WebhookController
有关如何监听或发送消息的更多信息,请参阅官方文档。
服务
此捆绑包在 BotMan 实例中配置 Symfony 容器。因此,您可以在 Conversations 类中通过构造函数注入依赖项。
如果您想在您的服务中使用 BotMan 实例,您可以注入 BotMan\BotMan\BotMan
类或 botman
别名。
驱动器命令
某些驱动器将包含命令以帮助配置它
以下命令可用
Telegram
贡献
有关我们的行为准则和向我们的项目提交拉取请求的流程的详细信息,请参阅 CONTRIBUTING.md。
版本控制
我们使用 SemVer 进行版本控制。有关可用的版本,请参阅此存储库上的标签。然而,此项目处于非常初级的 alpha 状态,配置文件格式可能会非常快速地改变。
许可证
本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE.md 文件。