hafael/totalvoice-notification-channel

Laravel 5.3+ 的 TotalVoice 通知通道

v1.1.0 2019-09-28 21:38 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:51 UTC


README

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

此包使您能够轻松使用 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)。有关更多信息,请参阅许可文件