rc1021 / laravel-line-notify
LINE Notify Provider for Laravel notification
v1.1.0
2021-12-11 13:04 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: >=6.0
- illuminate/notifications: >=5.3
- illuminate/support: >=5.3
This package is auto-updated.
Last update: 2024-11-11 19:20:22 UTC
README
LINE Notify Provider for Laravel 5.3+ Notification.
Requirements
- PHP 7.0+
- Laravel 5.3+ (Recommend 5.4+)
Usage
-
install package
$ composer require rc1021/laravel-line-notify
-
Make notifable class (ex User Model entity)
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable; // ... /** * @return string LINE Notify OAuth2 token */ protected function routeNotificationForLine() { return '{LINE Notify OAuth2 token}'; } }
-
Make notification
<?php namespace App\Notifications; use App\User; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Notification; use Rc1021\LineNotify\Message\LineMessage; class NewUserNotification extends Notification// implements ShouldQueue { use Queueable; /** @var User */ protected $user; /** * Create a new notification instance. * * @param User $user */ public function __construct(User $user) { $this->user = $user; } /** * Get the notification's delivery channels. * * @param mixed $notifiable * * @return array */ public function via($notifiable) { return ['line']; } /** * @param mixed $notifable callee instance * @return LineMessage */ public function toLine($notifable) { return (new LineMessage())->message('New user: ' . $this->user->name) ->imageUrl('https://example.com/sample.jpg') // With image url (jpeg only) ->imageFile('/path/to/image.png') // With image file (png/jpg/gif will convert to jpg) ->sticker(40, 2); // With Sticker } }
-
call
$notifable->notify()
$user = User::find(114514); $user->notify(new NewUserNotification($user));