waapi/waapi-laravel-sdk

WaAPI Laravel 包

v1.1.0 2024-09-02 04:26 UTC

README

Latest Version on Packagist Total Downloads

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)。有关更多信息,请参阅 许可证文件