spatie / interactive-slack-notification-channel
在 Laravel 应用中发送交互式 Slack 通知
1.2.0
2024-03-08 22:35 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.2
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- illuminate/http: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- ext-json: *
- mockery/mockery: ^1.4
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.5|^10.0
- spatie/ray: ^1.27
- spatie/test-time: ^1.2
README
此包允许您发送交互式 Slack 通知。以下是一个这样的通知示例
支持我们
我们在创建 一流的开放源代码包 上投入了大量的资源。您可以通过 购买我们的付费产品之一 来支持我们。
我们非常感谢您从家乡寄来明信片,说明您正在使用我们哪个包。您可以在 我们的联系页面 上找到我们的地址。我们将发布所有收到的明信片在 我们的虚拟明信片墙上。
安装
您可以通过 composer 安装此包
composer require spatie/interactive-slack-notification-channel
使用方法
在您的 Notifiable
类中,您应该添加一个名为 routeNotificationForInteractiveSlack
的方法,该方法返回一个包含 API 令牌的数组,可选地包含频道名称
public function routeNotificationForInteractiveSlack() { return [ 'token' => 'xoxp-slack-token', 'channel' => '#general' // this is optional ]; }
回复消息线程
假设您希望您的应用程序在订单创建时发送 Slack 通知。您还希望关于该订单的任何后续消息都放在同一个线程中。
使用 SlackApi 频道,您可以检索 Slack 的 chat.postMessage
方法中的 API 响应。使用此响应,您可以在订单发生的其他事件上发布消息,例如订单付款、发货、关闭等。
以下是一个示例
use Spatie\InteractiveSlackNotificationChannel\Messages\SlackMessage public function toInteractiveSlack($notifiable) { return (new SlackMessage)->content('A new order has been placed'); } public function interactiveSlackResponse(array $response) { $this->order->update(['slack_thread_ts' => $response['ts']]); }
在您的订单付款事件中,您可以有
use Spatie\InteractiveSlackNotificationChannel\Messages\SlackMessage; use Spatie\InteractiveSlackNotificationChannel\Messages\SlackAttachment; public function toInteractiveSlack($notifiable) { $order = $this->order; return (new SlackMessage) ->success() ->content('Order paid') ->threadTimestamp($order->slack_thread_ts) ->attachment(function(SlackAttachment $attachment) use ($order) { $attachment ->title("Order $order->reference has been paid for.") ->content('Should now be processed.') ->action('View Order', route('orders', $order->reference)); }); }
测试
composer test
变更日志
请参阅 变更日志 了解最近的变化信息。
贡献
请参阅 贡献指南 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
致谢
代码和 README 的某些部分基于 此包。
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。