sgomez / botman-bundle
Symfony的BotMan集成
Requires
- php: ^7.2
- ext-curl: *
- ext-json: *
- botman/botman: ^2.4
- php-http/client-common: ^1.7
- php-http/client-implementation: ^1.0
- symfony/cache: ^3.4|^4.0
- symfony/config: ^3.4|^4.0
- symfony/console: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/http-foundation: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
- symfony/routing: ^3.4|^4.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
This package is auto-updated.
Last update: 2024-08-27 19:52:01 UTC
README
Symfony的BotMan集成
这是一个用于在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
您只需添加您想要使用的驱动器。
步骤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以获取有关我们的行为准则和向我们的pull请求提交过程的详细信息。
版本控制
我们使用SemVer进行版本控制。有关可用的版本,请参阅此存储库的标签。但是,此项目处于非常alpha的状态,并且配置文件格式可能会非常快速地更改。
许可证
此项目根据MIT许可证授权 - 有关详细信息,请参阅LICENSE.md文件。