hafael / totalvoice-notification-channel
Laravel 5.3+ 的 TotalVoice 通知通道
v1.1.0
2019-09-28 21:38 UTC
Requires
- php: >=5.6.4
- illuminate/events: 5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.0.*
- illuminate/notifications: 5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.0.*
- illuminate/queue: 5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.0.*
- illuminate/support: 5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.0.*
- total-voice/php-client: 1.*
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-08-29 04:25:51 UTC
README
此包使您能够轻松使用 Laravel 5.3+ 发送 TotalVoice 通知。
内容
安装
您可以通过 composer 安装此包
composer require hafael/totalvoice-notification-channel
添加服务提供者(仅在 Laravel 5.4 或更低版本中需要)
// config/app.php 'providers' => [ ... NotificationChannels\TotalVoice\TotalVoiceServiceProvider::class, ],
设置 TotalVoice 服务
将您的 TotalVoice 访问令牌添加到 config/services.php
// config/services.php ... 'totalvoice' => [ 'access_token' => env('TOTALVOICE_ACCESS_TOKEN'), ], ...
使用方法
现在您可以在通知中的 via() 方法中使用此通道
use NotificationChannels\TotalVoice\TotalVoiceChannel; use NotificationChannels\TotalVoice\TotalVoiceSmsMessage; use Illuminate\Notifications\Notification; class AccountApproved extends Notification { public function via($notifiable) { return [TotalVoiceChannel::class]; } public function toTotalVoice($notifiable) { return (new TotalVoiceSmsMessage()) ->content("Your {$notifiable->service} account was approved!"); } }
您还可以发送 TTS(文本到语音)音频呼叫
use NotificationChannels\TotalVoice\TotalVoiceChannel; use NotificationChannels\TotalVoice\TotalVoiceTtsMessage; use Illuminate\Notifications\Notification; class AccountApproved extends Notification { public function via($notifiable) { return [TotalVoiceChannel::class]; } public function toTotalVoice($notifiable) { return (new TotalVoiceTtsMessage()) ->content("Your {$notifiable->service} account was approved!"); } }
或从 .mp3 文件 URL 创建 TotalVoice 音频呼叫
use NotificationChannels\TotalVoice\TotalVoiceChannel; use NotificationChannels\TotalVoice\TotalVoiceAudioMessage; use Illuminate\Notifications\Notification; class AccountApproved extends Notification { public function via($notifiable) { return [TotalVoiceChannel::class]; } public function toTotalVoice($notifiable) { return (new TotalVoiceAudioMessage()) ->content("http://foooo.bar/audio.mp3"); } }
为了让您的通知知道您要发送/呼叫的电话号码,通道将查找 Notifiable 模型的 phone_number 属性。如果您想覆盖此行为,请将 routeNotificationForTotalVoice 方法添加到您的 Notifiable 模型中。
public function routeNotificationForTotalVoice() { return '+5521999999999'; }
可用的消息方法
TotalVoiceSmsMessage (短信)
provideFeedback(false):等待接收者反馈。multipart(false):支持长度大于 160 且小于 16,000 个字符的短信。将多个短信(最多 160 个字符)发送到同一号码。scheledule(new \DateTime()):预约短信发送的日期和时间。默认为 null,立即发送。content(''):接受通知主体的字符串值。
TotalVoiceTtsMessage (文本到语音音频呼叫)
provideFeedback(false):等待接收者反馈。fakeNumber(null):接受用作通知发送者的电话。recordAudio(false):保存呼叫。detectCallbox(false):如果呼叫进入语音邮箱(vivo、claro、tim、oi),自动在 3 秒内断开连接。speed(0):从 -10 到 10。当 -10 = 非常慢,0 = 正常,10 = 非常快。voiceType('br-Vitoria'):将要说话的语言-字符缩写。content(''):接受通知主体的字符串值。
TotalVoiceAudioMessage (.mp3 音频呼叫)
provideFeedback(false):等待接收者反馈。fakeNumber('+5521999999999'):接受用作通知发送者的电话。recordAudio(false):保存呼叫。detectCallbox(false):如果呼叫进入语音邮箱(vivo、claro、tim、oi),自动在 3 秒内断开连接。content('http://foooo.bar/audio.mp3'):接受用于呼叫的 .mp3 文件 URL。
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过电子邮件villa655321verde@gmail.com联系,而不是使用问题跟踪器。
贡献
有关详细信息,请参阅贡献。
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅许可文件。