From 705037db6c556a61f8c1e57362261cf1efdfc207 Mon Sep 17 00:00:00 2001 From: OpenClaw Assistant Date: Mon, 2 Mar 2026 22:26:13 +0300 Subject: [PATCH] fix(vk-gateway): prevent bridge 500 drops and improve error resilience --- skills/vk-gateway/vk-endpoint.mjs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/skills/vk-gateway/vk-endpoint.mjs b/skills/vk-gateway/vk-endpoint.mjs index f7d41e6..f7a1df4 100755 --- a/skills/vk-gateway/vk-endpoint.mjs +++ b/skills/vk-gateway/vk-endpoint.mjs @@ -182,6 +182,11 @@ async function sendTelegramHumanLead(lead) { headers: { 'content-type': 'application/x-www-form-urlencoded' }, body, }); + if (res.ok) { + console.log(`[vk-endpoint] human lead sent user=${lead.user_id || '-'} email=${lead.email || '-'} phone=${lead.phone || '-'}`); + } else { + console.log(`[vk-endpoint] human lead send failed user=${lead.user_id || '-'} status=${res.status}`); + } return res.ok; } @@ -353,6 +358,9 @@ async function askOpenClaw(payload) { } return payloadOut; + } catch (e) { + console.error(`[vk-endpoint] askOpenClaw error user=${userKey}: ${e.message}`); + return { reply: 'Я ИИ-агент по бронированию «Парадиз». Сейчас есть техническая задержка, но я на связи. Напишите, пожалуйста, даты и состав гостей — продолжу подбор.' }; } finally { clearTimeout(t); } @@ -378,8 +386,9 @@ const server = http.createServer(async (req, res) => { res.writeHead(200, { 'content-type': 'application/json' }); res.end(JSON.stringify(out)); } catch (e) { - res.writeHead(500, { 'content-type': 'application/json' }); - res.end(JSON.stringify({ error: 'bridge_failed', detail: e.message })); + console.error(`[vk-endpoint] inbound error: ${e.message}`); + res.writeHead(200, { 'content-type': 'application/json' }); + res.end(JSON.stringify({ reply: 'Я ИИ-агент по бронированию «Парадиз». Произошла техническая ошибка. Напишите, пожалуйста, ещё раз одним сообщением: даты, гости и контакт для связи.' })); } });