该软件包已废弃,不再维护。未建议替代软件包。

BearyChat通知通道适用于Laravel。

1.4.0 2020-09-13 14:32 UTC

This package is auto-updated.

Last update: 2022-03-19 23:21:52 UTC


README

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

该软件包使得使用BearyChat发送Laravel通知变得简单。

通道已弃用

BearyChat已停止使用。因此,此通道将不再接收更新,并被弃用。

内容

安装

您可以通过 Composer 安装此软件包。

$ composer require laravel-notification-channels/bearychat

软件包安装完成后,您需要通过在 config/app.php 文件中的 providers 数组中添加以下内容来注册服务提供者:

ElfSundae\BearyChat\Laravel\ServiceProvider::class,

此软件包基于 laravel-bearychat,如果您尚未这样做,可以发布配置文件。

$ php artisan vendor:publish --tag=bearychat

设置BearyChat服务

您可以在您的 BearyChat 团队账户中创建一个入站机器人,并阅读 有效负载格式

使用方法

基本使用

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

<?php

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use NotificationChannels\BearyChat\BearyChatChannel;
use ElfSundae\BearyChat\Message;

class InvoicePaid extends Notification
{
    public function via($notifiable)
    {
        return [BearyChatChannel::class];
    }

    public function toBearyChat($notifiable)
    {
        return (new Message)
            ->text('foo')
            ->add('bar');
    }
}

您还可以使用BearyChat Client创建通知的消息,并使用客户端的消息默认值来创建新的Message实例。

public function toBearyChat($notifiable)
{
    return bearychat('admin')->text('New VIP has been paid!');
}

路由通知

要路由BearyChat通知到适当的机器人,请在您的可通知实体上定义一个routeNotificationForBearyChat方法。

class User extends Authenticatable
{
    use Notifiable;

    public function routeNotificationForBearyChat()
    {
        return 'https://hook.bearychat.com/...';
    }
}

您还可以在routeNotificationForBearyChat方法中路由用户、频道或配置的客户端。

  • '@Elf'将通知路由到用户"Elf"。
  • '#iOS-Dev'将通知路由到频道"iOS-Dev"。
  • 'http://webhook/url'将通知路由到入站机器人。
  • 'Server'将通知通过在您的配置文件config/bearychat.php中命名为"Server"的客户端进行路由,并且该客户端的消息默认值将应用于传出通知消息。

可用的消息方法

  • text() : (字符串) 消息内容。
  • notification() : (字符串) 消息通知。
  • markdown(true) : (布尔值) 表示消息应该按照markdown语法解析。
  • add() : (混合型) 向消息添加附件。参数可以是包含所有附件字段的payload数组。参数也可以是按照“文本”、“标题”、“图片”和“颜色”顺序排列的附件字段。
  • addImage() : ($image, $desc = null, $title = null) 向消息添加图片附件。
  • content() : ($text, $markdown, $notification)($text, $attachment_text, $attachment_title, $attachment_images, $attachment_color)
  • remove() : (混合型) 删除附件,可以传递附件索引的整数或索引数组。
  • channel() : (字符串) 消息应该发送到的频道。
  • user() : (字符串) 消息应该发送到的用户。
  • to() : (字符串) 消息应该发送到的目标(用户或频道)。目标可以以"@"开头用于向用户发送,频道的前缀"#"是可选的。
$message = (new Message)
    ->text('message content')
    ->notification('notification for this message')
    ->add('attachment content', 'attachment title', 'http://path/to/image', '#FF0000')
    ->to('@Boss');

使用上述消息实例的提醒将使用以下有效负载发送

{
    "text": "message content",
    "notification": "notification for this message",
    "user": "Boss",
    "attachments": [
        {
            "text": "attachment content",
            "title": "attachment title",
            "images": [
                {
                    "url": "http://path/to/image"
                }
            ],
            "color": "#FF0000"
        }
    ]
}

更新日志

请参阅更新日志以获取更多最近更改的信息。

测试

$ composer test

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件elf.sundae@gmail.com而不是使用问题跟踪器。

贡献

请参阅贡献指南以获取详细信息。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。