paragraf-lex/viber-bot

PHP Laravel 的 Viber 机器人

v0.0.7 2019-02-14 09:34 UTC

This package is auto-updated.

Last update: 2024-09-14 22:48:53 UTC


README

Latest Version StyleCI

安装

此包可以通过 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

使用方法

安装完成后,您将能够访问 BotClient 类。

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 而不是使用问题跟踪器。

致谢