paragraf-lex / viber-bot
PHP Laravel 的 Viber 机器人
Requires
- php: ^7.1.3
- ext-json: *
- php-curl-class/php-curl-class: ^8.4
Requires (Dev)
- phpunit/phpunit: ^7.0
README
安装
此包可以通过 Composer 安装。
composer require paragraf-lex/viber-bot
在 Laravel 5.5 及以上版本中,此包将自动注册服务提供者。在 Laravel 5.4 中,您必须安装此服务提供者。
// config/app.php 'providers' => [ ... Paragraf\ViberBot\ViberBotServiceProvider::class, ... ];
变更日志
有关最近更改的详细信息,请参阅 CHANGELOG。
配置
您需要在 .env 中设置并配置 webhook。
环境变量
VIBERBOT_API=your_viber_token VIBERBOT_NAME=name VIBERBOT_PHOTO=photo
在创建机器人并在“信息”标签页上创建机器人后,您可以在 Viber Partners 上找到 Viber 令牌。
WebHook
您必须运行 artisan 命令为 webhook 运行带有 url 参数的 webhoook。
php artisan viber-bot:webhook https://example-url.com/some-route
注意:它必须是完整的 URL,并且必须是 HTTPS。
配置文件
可选地,您可以使用以下命令发布此包的配置文件
php artisan vendor:publish --provider="Paragraf\ViberBot\ViberBotServiceProvider"
以下配置文件将发布到 config/viberbot.php
使用方法
安装完成后,您将能够访问 Bot 和 Client 类。
Bot 类
使用 bot 类,您可以导航 ViberBot 的工作方式。
(new Bot($request, new TextMessage())) ->on(new MessageEvent($request->timestamp, $request->message_token, new ViberUser($request->sender['id'],$request->sender['name']), $request->message)) ->hears("Hi!") ->replay("Hello World!") ->send();
注意:如果 viber 用户没有设置 name,您将得到错误。
您可以将响应类型更改为 Message 和 Event,该 Event 监听该事件。
事件列表
- ConversationStartedEvent
- DeliveredEvent
- FailedEvent
- MessageEvent
- SeenEvent
- SubscribedEvent
- UnsubscribedEvent
注意:如果您不想监听所有事件,您可以在 config/viberbot.php 中更改 event_types。如果更改,您必须再次运行 php artisan viber-bot:webhook your-url 以应用更改。
消息列表
- TextMessage
- BroadcastMessage
- ContactMessage
- FileMessage
- KeyboardMessage
- LocationMessage
- PictureMessage
- StickerMessage
- URLMessage
- VideoMessage
- WelcomeMessage
- CarouselMessage - 待办
Client 类
Client 类为您提供额外的实用功能。
(new Client())->broadcast('Hello', User::all(), 'viber_id');
注意:在 broadcast() 中的 $method 必须指向 viber_id。另外,getOnlineStatus() 需要 viber_ids。
如果您想了解更多关于 Viber API 或如何工作的信息,请查看 Viber REST API
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全性
如果您发现任何安全问题,请通过电子邮件 nemanja.ivankovic@paragraf.rs 而不是使用问题跟踪器。