laravel-notification-channels / hipchat
该软件包已被弃用,不再维护。未建议替代软件包。
Laravel HipChat 通知通道
v2.2.0
2018-11-21 06:08 UTC
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^6.2
- illuminate/notifications: ~5.3
- illuminate/queue: ~5.1
- illuminate/support: ~5.1
Requires (Dev)
- mockery/mockery: ~1.0
- phpunit/phpunit: 5.*
README
此软件包使得使用 Laravel 发送 HipChat 通知变得简单。
通道已弃用
HipChat 在 2019 年初已停止服务。因此,此通道将不再接收更新,并已被弃用。
内容
安装
您可以通过 composer 安装此软件包
composer require laravel-notification-channels/hipchat
如果您使用的是 Laravel < 5.5 或您已关闭软件包自动发现,您必须手动注册服务提供者
// config/app.php 'providers' => [ ... NotificationChannels\HipChat\HipChatServiceProvider::class, ],
设置 HipChat 服务
将您的 HipChat 账户令牌以及可选的默认房间和 HipChat API 服务器的基准 URL 添加到您的 config/services.php
// config/services.php ... 'hipchat' => [ 'token' => env('HIPCHAT_TOKEN'), // Default room (optional) 'room' => 'Notifications', // Base URL for Hipchat API server (optional) 'url' => 'https://api.your.hipchat.server.com', ], ...
使用
发送简单的房间通知
注意:为了能够发送房间通知,您需要一个具有 send_notification 范围的认证令牌(个人和房间令牌都适用)。
use NotificationChannels\HipChat\HipChatChannel; use NotificationChannels\HipChat\HipChatMessage; use Illuminate\Notifications\Notification; class UserRegistered extends Notification { public function via($notifiable) { return [HipChatChannel::class]; } public function toHipChat($notifiable) { return HipChatMessage::create() ->room('New Registrations') ->html("<strong>A new user has registered!</strong>") ->success() ->notify(); } }
发送带卡的房间通知
有关 HipChat 通知卡的更多信息,请参阅此处。
public function toHipChat($notifiable) { return HipChatMessage::create() ->text('Laravel 5.3 has arrived!') ->notify(true) ->card(Card::create() ->title('Laravel') ->style(CardStyles::APPLICATION) ->url('https://laravel.net.cn') ->html('Laravel 5.3 has arrived! The best release ever!') ->cardFormat(CardFormats::MEDIUM) ->icon('http://bit.ly/2c7ntiF') ->activity('Laravel 5.3 has arrived!', 'http://bit.ly/2c7ntiF') ->addAttribute(CardAttribute::create() ->label('Laravel Scout') ->icon('http://bit.ly/2c7ntiF') ->value('Driver based full-text search.') ->url('https://laravel.net.cn/docs/5.3/scout') ) ->addAttribute(CardAttribute::create() ->label('Laravel Echo') ->icon('http://bit.ly/2c7ntiF') ->value('Event broadcasting, evolved.') ->url('https://laravel.net.cn/docs/5.3/broadcasting') ) ->addAttribute(CardAttribute::create() ->label('Laravel Passport') ->icon('http://bit.ly/2c7ntiF') ->value('API authentication.') ->url('https://laravel.net.cn/docs/5.3/passport') ) ); }
在 HipChat 房间中共享文件
注意:为了能够共享文件,您需要一个具有 send_message 范围的认证令牌(即个人令牌)。您可以通过访问 HipChat -> 账户设置 -> API 访问创建此类令牌。
在大多数情况下,您只需要提供要共享的现有文件的路径即可
public function toHipChat($notifiable) { return HipChatFile::create($this->user->photo); }
您还可以选择发送一条文本消息
public function toHipChat($notifiable) { return HipChatFile::create($this->user->photo); ->text("Look we've got a new user!"); }
如果您需要更多控制,或者您正在动态创建文件内容
public function toHipChat($notifiable) { return HipChatFile::create() ->fileName('user_photo.png') ->fileType('image/png') ->fileContent(fopen('http://example.com/user/photo/johndoe', 'r')) ->text("Look we've got a new user!"); }
可用方法
HipChatMessage
create()
:创建一个新的HipChatMessage
实例。room()
:设置要发送通知的 HipChat 房间的 id 或名称。from()
:设置要显示在发送者姓名之外的额外标签(可选)。content()
:设置通知消息的内容。text()
:设置格式为纯文本,并可选设置内容。html()
:设置格式为HTML,并可选设置内容。允许的HTML标签:a, b, i, strong, em, br, img, pre, code, 列表,表格。color()
:设置消息颜色。查看MessageColors
以获取允许的值。notify()
:指定消息是否在Hipchat客户端中触发用户通知。info()
:设置通知级别为info
,颜色为MessageColors::GRAY
。success()
:设置通知级别为success
,颜色为MessageColors::GREEN
。error()
:设置通知级别为info
,颜色为MessageColors::RED
。
Card
create()
:创建一个新的Card
实例。title()
:设置卡片标题。id()
:设置卡片ID。style()
:设置卡片样式。查看CardStyles
以获取允许的值。text()
:设置格式为纯文本,并可选设置内容。html()
:设置格式为HTML,并可选设置内容。cardFormat()
:设置卡片的格式。查看CardFormats
以获取允许的值。url()
:设置卡片的URL。thumbnail()
:设置卡片的缩略图。activity()
:设置卡片的活动信息。icon()
:设置卡片的图标。addAttribute()
:将一个CardAttribute
添加到卡片中。
CardAttribute
create()
:创建一个新的CardAttribute
实例。value()
:设置属性的文本值。label()
:设置属性的标签。url()
:设置属性的URL。style()
:设置属性的样式。查看CardAttributeStyles
以获取允许的值。icon()
:设置属性的图标。
HipChatFile
create()
:创建一个新的HipChatFile
实例。room()
:设置要分享文件的HipChat房间ID或名称。path()
:将fileContent
设置为现有文件的资源,并尝试检测并设置fileName
和fileType
(如果未明确设置)。fileName
:设置文件名。fileContent
:明确设置文件内容。可以是字符串、流或文件资源。如果传递了资源,则尝试检测并设置fileType
(如果未明确设置)。fileType
:明确设置文件的MIME类型。text()
:设置与文件一起发送的文本消息。
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件pmatseykanets@gmail.com联系我们,而不是使用问题跟踪器。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
请参阅CONTRIBUTING以获取详细信息。
致谢
特别感谢Jerry Price的帮助。
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。