tomlankhorst/hangouts-chat

Laravel 到 Google Hangouts Chat 的通知

1.0.0 2020-11-27 09:01 UTC

This package is auto-updated.

Last update: 2024-09-27 17:16:02 UTC


README

Latest Version on Packagist Software License Build Status StyleCI SymfonyInsight Quality Score Code Coverage Total Downloads

本软件包使得使用 Laravel 5.5+、6.x 和 7.x 通过 Google Hangouts Chat 发送通知变得简单。

内容

安装

使用 Composer 安装此软件包

composer require tomlankhorst/hangouts-chat

设置 Google Hangouts Chat 服务

为了使用机器人发送消息,您需要为房间 设置一个 webhook

使用方法

现在您可以在通知内的 via() 方法中使用该通道

use NotificationChannels\GoogleHangoutsChat\HangoutsChatChannel;
use NotificationChannels\GoogleHangoutsChat\HangoutsChatMessage;
use Illuminate\Notifications\Notification;

class ProjectCreated extends Notification
{
    public function via($notifiable)
    {
        return ['hangoutsChat'];
    }

    public function toHangoutsChat$notifiable)
    {
        return HangoutsChatMessage::create()
            ->data([
               'text' => 'It is a test message!'
            ]);
    }
}

请查看 Hangouts Chat 消息格式 以了解如何发送消息。

为了让通知知道哪个 URL 应该接收 Webhook 数据,请将 routeNotificationForHangoutsChat 方法添加到您的 Notifiable 模型中。此方法需要返回接收通知 Webhook 的 POST 请求的 URL。

public function routeNotificationForHangoutsChat()
{
    return 'https://chat.googleapis.com/v1/spaces/XXXXX-XXXXX/messages?key={key}&token={token}';
}

您可以使用以下语法在飞行中发送到动态 Webhook URL

Notification::route('hangoutsChat', 'https://chat.googleapis.com/v1/spaces/XXXXX-XXXXX/messages?key={key}&token={token}')
                    ->notify(new NotificationClass($params));

可用的消息方法

  • data(''):接受用于 Webhook 体的可 JSON 编码值。
  • query(''):接受用于添加到请求的查询字符串值的关联数组。
  • userAgent(''):接受用于 Webhook 用户代理的字符串值。
  • header($name, $value):设置要随 POST Webhook 发送的其他头。
  • verify():启用 SSL 证书验证或提供 CA 包的路径

变更日志

有关最近更改的更多信息,请参阅 变更日志

测试

$ composer test

安全

如果您发现任何安全相关的问题,请通过电子邮件 renan@4success.com.br 而不是使用问题跟踪器。

贡献

有关详细信息,请参阅 贡献

致谢

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。