开源软件名称(OpenSource Name):kawax/laravel-notification-mastodon开源软件地址(OpenSource Url):https://github.com/kawax/laravel-notification-mastodon开源编程语言(OpenSource Language):PHP 100.0%开源软件介绍(OpenSource Introduction):Laravel Notification for MastodonRequirements
InstallationComposer
ConfigSet default config/services.php 'mastodon' => [
'domain' => env('MASTODON_DOMAIN'),
'token' => env('MASTODON_TOKEN'),
], .env
TOKEN?Go to your Mastodon's preferences page. Usage<?php
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);
}
} Send to specific one accountNotification::route('mastodon-domain', config('services.mastodon.domain'))
->route('mastodon-token', config('services.mastodon.token'))
->notify(new MastodonNotification('test')); Send to user's accountGet token by https://github.com/kawax/socialite-mastodon class User extends Authenticatable
{
use Notifiable;
/**
* @param \Illuminate\Notifications\Notification $notification
* @return string
*/
public function routeNotificationForMastodonDomain($notification)
{
return $this->domain;
}
/**
* @param \Illuminate\Notifications\Notification $notification
* @return string
*/
public function routeNotificationForMastodonToken($notification)
{
return $this->token;
}
} $user->notify(new MastodonNotification('test')); Set optionshttps://docs.joinmastodon.org/methods/statuses/ public function toMastodon($notifiable)
{
$options = [
'visibility' => 'unlisted',
];
return MastodonMessage::create($this->status)
->options($options);
} LICENSEMIT |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论