Files
ledstar_laravel/app/Http/Controllers/VkBotController.php
T
amikhaylov e90314f18b Added VKBot
2026-05-28 02:16:26 +03:00

42 lines
1.6 KiB
PHP

<?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');
}
}
}