定制 revolution/laravel-notification-mastodon 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

revolution/laravel-notification-mastodon

最新稳定版本:3.5.0

Composer 安装命令:

composer require revolution/laravel-notification-mastodon

包简介

Laravel Notification for Mastodon

README 文档

README

Requirements

  • PHP >= 8.2
  • Laravel >= 11.0

Installation

This package is part of revolution/laravel-mastodon-api.

Composer

composer require revolution/laravel-mastodon-api 

Config

Set default domain and token

config/services.php

 'mastodon' => [ 'domain' => env('MASTODON_DOMAIN'), 'token' => env('MASTODON_TOKEN'), ],

.env

MASTODON_DOMAIN=https://example.com MASTODON_TOKEN= 

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 account

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'));

Send to user's account

Get token by https://github.com/invokable/socialite-mastodon

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'));

Set options

https://docs.joinmastodon.org/methods/statuses/

 public function toMastodon($notifiable) { $options = [ 'visibility' => 'unlisted', ]; return MastodonMessage::create($this->status) ->options($options); }

LICENSE

MIT

统计信息

  • 总下载量: 8.94k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固