yokuru/laravel-chatwork

Laravel notification driver for Chatwork.

v0.0.1 2019-06-29 10:45 UTC

This package is auto-updated.

Last update: 2024-04-18 00:00:54 UTC


README

Build Status Coverage Status MIT License

Laravel Notification driver for Chatwork.

Installation

With Composer:

composer require yokuru/laravel-chatwork

After installing the package, please publish the configuration file.

php artisan vendor:publish --provider="Yokuru\Chatwork\ServiceProvider"

Usage

1. Set the Chatwork API Token

Open .env and set your Chatwork API Token like as below.

CHATWORK_API_TOKEN=XXXXXXXXXXXXXXXXXX

2. Create an notification class

Create a notification class like as below.

class SampleNotification extends ChatworkNotification
{
    function toChatwork($notifiable): ChatworkMessage
    {
        return (new ChatworkMessage())
            ->text('This is sample notification');
    }
}

3. Sending notification

Here are some examples of notification methods.
Please refer to the following page if you want to know more about Laravel Notification.
https://laravel.com/docs/notifications

Example of On-Demand Notifications

Notification::route('chatwork', '{ROOM_ID}')
    ->notify(new SampleNotification());

Example of using Notifiable trait

Add the method routeNotificationForChatwork to your model using Notifiable.

class User extends Authenticatable
{
    use Notifiable;
    
    public function routeNotificationForChatwork()
    {
        return '{ROOM_ID}';
    }
}

Next, just notify when you want.

$user->notify(new SampleNotification());

Building message

You can create a chat message as below.

$message = new SampleNotification();
$message->to('999999')
    ->info("Please confirm this.\nhttp://example.com/", 'New Order #7489393')
    ->toAll()
    ->text('FYI');

sample

Mention specific user

$message->to('999999');

to

Mention all users in the room

$message->toAll();

toall

Simple text

$message->text('This is simple text message.');

text

Information

$message->info('This is information.');

info

With title

$message->info('This is information.', 'Information title');

info_with_title

License

MIT