redpic / antigate-laravel by redpic

antigate.com API Laravel 5.1 package
19
1
1
Package Data
Maintainer Username: redpic
Maintainer Contact: aleksey.fortuna@gmail.com (Alexei Fortuna)
Package Create Date: 2015-08-04
Package Last Update: 2015-08-04
Language: PHP
License: MIT
Last Refreshed: 2025-04-23 15:03:57
Package Statistics
Total Downloads: 19
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 1
Total Forks: 1
Total Open Issues: 0

antigate-laravel

antigate.com API Laravel 5.1 package

Инструкция

Установите пакет: composer require redpic/antigate

Добавьте сервис-провайдер в config/app.php:

'providers' => [
    // ...
    Redpic\Antigate\AntigateServiceProvider::class,
];

Опубликуйте конфиг: php artisan vendor:publish и впишите в него токен доступа: config/antigate.php

Создайте два слушателя событий:

php artisan make:listener test --event CaptchaWasRecognized
php artisan make:listener test --event CaptchaWasNotRecognized

Приведите их к виду:

app/Listeners/CaptchaWasRecognizedListener.php:

<?php

namespace App\Listeners;

use Redpic\Antigate\Events\CaptchaWasRecognized;
use Redpic\Antigate\Jobs\RecognizeCaptcha;

class CaptchaWasRecognizedListener
{
    public function handle(CaptchaWasRecognized $event)
    {
        $event->captcha->getKey(); // Тут текст разгаданной капчи
    }
}

app/Listeners/CaptchaWasNotRecognizedListener.php:

<?php

namespace App\Listeners;

use Redpic\Antigate\Events\CaptchaWasNotRecognized;
use Redpic\Antigate\Jobs\RecognizeCaptcha;

class CaptchaWasNotRecognizedListener
{
    public function handle(CaptchaWasNotRecognized $event)
    {
        $event->captcha; // Не разгаданная капча
        $event->exception; // Исключение вызванное во время работы

        /*
        Если в этом месте вызвать какое то исключение, 
        то задание по разгадываю этой капчи снова добавится в очередь
        */
    }
}

Зарегистрируйте слушатели app/Providers/EventServiceProvider.php:

protected $listen = [
    //...
    'Redpic\Antigate\Events\CaptchaWasRecognized' => [
        'App\Listeners\CaptchaWasRecognizedListener',
    ],
    'Redpic\Antigate\Events\CaptchaWasNotRecognized' => [
        'App\Listeners\CaptchaWasNotRecognizedListener',
    ],
];

Добавление задания из контроллера выглядит примерно так:

$captcha = (new Captcha)->setImageByUrl('http://ПУТЬ_К_КАПЧЕ');
$this->dispatch(new RecognizeCaptcha($captcha));