namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Revolution\Laravel\Notification\Mastodon\MastodonChannel;
use Revolution\Laravel\Notification\Mastodon\MastodonMessage;
class MastodonNotification extends Notification implements ShouldQueue
{
use Queueable;
protected $status;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($status)
{
$this->status = $status;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable)
{
return [MastodonChannel::class];
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
*
* @return MastodonMessage
*/
public function toMastodon($notifiable)
{
return MastodonMessage::create($this->status);
}
}
use Illuminate\Support\Facades\Notification;
use Revolution\Laravel\Notification\Mastodon\MastodonRoute;
Notification::route('mastodon', MastodonRoute::to(config('services.mastodon.domain'), config('services.mastodon.token')))
->notify(new MastodonNotification('test'));
use Illuminate\Notifications\Notifiable;
use Revolution\Laravel\Notification\Mastodon\MastodonRoute;
class User extends Authenticatable
{
use Notifiable;
public function routeNotificationForMastodon($notification): MastodonRoute
{
return MastodonRoute::to(domain: $this->domain, token: $this->token);
}
}
$user->notify(new MastodonNotification('test'));
public function toMastodon($notifiable)
{
$options = [
'visibility' => 'unlisted',
];
return MastodonMessage::create($this->status)
->options($options);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.