Added VKBot
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class VkBotController extends Controller
|
||||
{
|
||||
public function handle(Request $request)
|
||||
{
|
||||
// Получаем данные от VK в формате массива
|
||||
$data = $request->all();
|
||||
|
||||
// Проверяем тип запроса
|
||||
if (! isset($data['type'])) { return response('ok', 200); }
|
||||
|
||||
// 1. Подтверждение сервера для VK (срабатывает один раз)
|
||||
if ($data['type'] === 'confirmation') {
|
||||
// Замените ЭТУ_СТРОКУ на код из настроек Callback API в VK
|
||||
return response('ЭТУ_СТРОКУ', 200)
|
||||
->header('Content-Type', 'text/plain');
|
||||
}
|
||||
|
||||
// 2. Получение новой записи на стене (новости)
|
||||
if ($data['type'] === 'wall_post_new') {
|
||||
$post = $data['object']; // Здесь вся информация о посте
|
||||
|
||||
// Временно запишем в лог (storage/logs/laravel.log), чтобы увидеть структуру
|
||||
Log::info('Новый пост от VK:', $post);
|
||||
|
||||
// TODO: Здесь будет код сохранения $post в вашу базу данных
|
||||
|
||||
// VK требует всегда возвращать строку "ok" на любые события
|
||||
return response('ok', 200)
|
||||
->header('Content-Type', 'text/plain');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user