waapi / waapi-laravel-sdk
WaAPI Laravel 包
v1.1.0
2024-09-02 04:26 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.14.0
- waapi/waapi-php-sdk: ^1.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
This package is auto-updated.
Last update: 2024-09-02 13:09:18 UTC
README
Laravel 包,用于与 waapi.app 一起使用。
安装
您可以通过 composer 安装此包
composer require waapi/waapi-laravel-sdk
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="waapi-config"
这是发布配置文件的内容
return [ 'api_token' => env('WAAPI_API_TOKEN'), 'instance_id' => env('WAAPI_INSTANCE_ID'), ];
请根据您的实例 ID 和令牌修改 .env 文件,您可以从 API Tokens 获取这些信息
用您的令牌和实例 ID 替换
WAAPI_API_TOKEN=abcdefghijkl123456789 WAAPI_INSTANCE_ID=123
使用方法
$waAPI = new WaAPI\WaAPI(); $waAPI->sendMessage('1222333444@c.us', 'Hello there!');
Webhook 监听器
该包提供了一个 Webhooks 端点来处理传入的 Webhooks。只需更新您的实例以设置您想监听的事件类型和端点。
确保您的应用程序运行在公开可用的域上。本地不会启用 Webhooks。
app(WaAPI::class)->updateInstance( route('waapi.webhooks'), [ EventType::MESSAGE->value, EventType::QR->value ] );
创建一个事件监听器以监听 Webhook 事件
消息示例
php artisan make:listener WaAPIMessageListener --event=\\WaAPI\\WaAPI\\Events\\MessageEvent
二维码更改示例
php artisan make:listener WaAPIQrCodeListener --event=\\WaAPI\\WaAPI\\Events\\QrEvent
如果您禁用了事件的自动发现,请在 app/Providers/EventServiceProvider.php 中注册您的监听器
use App\Listeners\WaAPIInstanceReadyListener; use App\Listeners\WaAPIMessageListener; use WaAPI\WaAPI\Events\MessageEvent; use WaAPI\WaAPI\Events\QrEvent; [...] protected $listen = [ MessageEvent::class => [ WaAPIMessageListener::class, ], QrEvent::class => [ WaAPIQrCodeListener::class, ], ];
WaAPIMessageListener 示例
<?php namespace App\Listeners; use WaAPI\WaAPI\Events\MessageEvent; use WaAPI\WaAPI\WaAPI; class WaAPIMessageListener { /** * Handle the event. */ public function handle(MessageEvent $message): void { if (!$message->isFromMe()) { app(WaAPI::class)->sendMessage($message->getFrom(), 'Hello to you too!'); } } }
可用事件
AuthenticatedEvent
AuthFailureEvent
DisconnectedEvent
GroupJoinEvent
GroupLeaveEvent
GroupUpdateEvent
InstanceReadyEvent
LoadingScreenEvent
MediaUploadedEvent
MessageAcknowledgedEvent
MessageCreatedEvent
MessageEvent
MessageReactionEvent
MessageRevokedEveryoneEvent
MessageRevokedMeEvent
QrEvent
StateChangeEvent
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。