kg-bot / laravel-tikfinity-webhooks
A Laravel package for TikFinity (TikTok LIVE) webhooks
Fund package maintenance!
Buy-Me-A-Coffee
Requires
- php: ^8.1
- illuminate/collections: ^12.14
- illuminate/database: ^12.14
- illuminate/http: ^12.14
Requires (Dev)
- orchestra/testbench: ^10.3
- pestphp/pest: ^3.8
README
TikFinity Webhooks
This package provides a set of webhooks for TikFinity, allowing you to easily integrate TikTok LIVE events into your application.
Installation
You can install the package via Composer:
composer require kg-bot/laravel-tikfinity-webhooks
Configuration
After installing the package, you need to publish the configuration file:
php artisan vendor:publish --tag="tikfinity-webhooks-config
This will create a tikfinity-webhooks.php
file in your config
directory. You can customize the configuration as needed.
Migrations
You can publish the migrations using the following command:
php artisan vendor:publish --tag="tikfinity-webhooks-migrations"
Routes
The package provides a set of routes for handling TikTok webhooks. You can find the routes in the routes/web.php
file. You can customize the routes as needed.
Usage
You can use the webhooks in your application to handle TikTok LIVE Gift and LIVE comment events.
To handle the events, you should configure the pipes in your tikfinity-webhooks.php
configuration file. The package provides a set of example pipes that you can use to handle the events. You can also create your own pipes to handle the events as needed.
Profile
You can use the KgBot\TikfinityWebhooks\Models\TikTokProfile
model to save TikTok profile information.
Example
You can use the package to handle TikTok LIVE Gift and LIVE comment events. Here is an example of how to handle a LIVE Gift event:
Create a Pipe
You can create a pipe to handle the LIVE Gift event. Here is an example of a pipe that verifies if the event is a gift event:
use Closure; use KgBot\TikFinityWebhooks\Contracts\PipeContract; use KgBot\TikFinityWebhooks\DTO\WebhookData; final class VerifyGiftWebhook implements PipeContract { /** * @throws EventNotAllowed */ public function handle(WebhookData $webhookData, Closure $next): mixed { if(!$webhookData->isGiftEvent()) { throw new EventNotAllowed('Event is not a gift event'); } return $next($webhookData); } }
Each pipe should implement the PipeContract
interface and define the handle
method. The handle
method receives the WebhookData
object and a closure to pass the data to.
Register the Pipe
You can register the pipe for each event in the tikfinity-webhooks.php
configuration file by overwriting the pipes
array. Here is an example of how to register the VerifyGiftWebhook
pipe for the gift
event:
return [ 'pipes' => [ 'gift' => [ VerifyGiftWebhook::class, // Other pipes can be added here ], ], ];
Testing
composer test
License
This package is open-sourced software licensed under the MIT license.
Contributing
If you want to contribute to this package, feel free to open a pull request or create an issue. Your contributions are welcome!
Support
If you have any questions or need support, you can open an issue on the GitHub repository or contact me directly.