ishaarat/lara-ishaarat

使用 Ishaarat 从您的 Laravel 应用程序发送 Whatsapp 通知

1.0.4 2023-09-03 12:35 UTC

This package is auto-updated.

Last update: 2024-10-03 15:23:57 UTC


README

GitHub License Latest Version on Packagist Total Downloads

这是一个用于 Ishaarat 网关集成的 Laravel 扩展包。现在发送 Whatsapp 消息变得简单。

📦 安装

通过 Composer

$ composer require ishaarat/lara-ishaarat

如果您使用 Laravel 5.5 及以上版本,服务提供者将自动注册。

对于旧版本,您需要在 config/app.php 中添加服务提供者和别名

'providers' => [
    ...
    Ishaarat\LaraIshaarat\Providers\IshaaratServiceProvider::class,
]

'alias' => [
    ...
    'Ishaarat' => Ishaarat\LaraIshaarat\Facades\WA::class,
]

⚡ 配置

发布配置文件

php artisan vendor:publish --provider="Ishaarat\LaraIshaarat\Providers\IshaaratServiceProvider"

然后填写从您的 Ishaarat 账户 获得的认证密钥和应用程序密钥。

// Eg. for SNS.
'auth_key' => env('ISHAARAT_AUTH_KEY', 'xxxxxx'),
'app_key' => env('ISHAARAT_APP_KEY', 'xxxx'),

或者您可以在 .env 文件中添加这些密钥

ISHAARAT_AUTH_KEY=xxxxxx
ISHAARAT_APP_KEY=xxxxx

🔥 使用方法

使用 Facade 方法。

# On the top of the file.
use Ishaarat\LaraIshaarat\Facades\WA;

////

# In your Controller.
WA::send("this message", function($waMsg) {
    $waMsg->to(['Number 1', 'Number 2']); # The numbers to send to.
});
# OR...
WA::send("this message")->to(['Number 1', 'Number 2'])->dispatch();

使用辅助方法

ishaaratWA()->send("this message", function($waMsg) {
    $waMsg->to(['Number 1', 'Number 2']); # The numbers to send to.
});

ishaaratWA()->send("this message")->to(['Number 1', 'Number 2'])->dispatch();

😍 通道使用

首先您需要使用 php artisan make:notification 命令创建您的通知。然后可以使用 WAChannel::class 作为如下通道

namespace App\Notifications;

use Ishaarat\LaraIshaarat\Builder;
use Illuminate\Bus\Queueable;
use Ishaarat\LaraIshaarat\Channels\WAChannel;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;

class InvoicePaid extends Notification
{
    use Queueable;

    /**
     * Get the notification channels.
     *
     * @param  mixed  $notifiable
     * @return array|string
     */
    public function via($notifiable)
    {
        return [WAChannel::class];
    }

    /**
     * Get the repicients and body of the notification.
     *
     * @param  mixed  $notifiable
     * @return Builder
     */
    public function toWhatsapp($notifiable)
    {
        return (new Builder)
            ->send('this message')
            ->to('some number');
    }
}

提示:您可以在发送方法中使用相同的构建器实例。

$builder = (new Builder)
    ->send('this message')
    ->to('some number');

WA::send($builder);