// Code node (Run once for each item) // Смотрит на answer_text (payload нажатой кнопки). Если "complaint" — экран "Подать жалобу" (текст + Назад). // Иначе — главное меню (выбор действий + контакт + Главное меню). return items.map(item => { const payload = (item.json?.answer_text || '').trim(); let text; let message_body; if (payload === 'complaint') { // Человек нажал "Подать жалобу" — показываем текст шага и кнопку "Назад" text = "**Подача жалобы**\n\nОпишите ситуацию и приложите документы, если есть. Мы рассмотрим обращение в кратчайшие сроки.\n\nНапишите сообщение с описанием или нажмите «Назад», чтобы вернуться в меню."; const backRow = [ { type: "callback", text: "◀️ Назад", payload: "menu" } ]; message_body = { text, format: "markdown", attachments: [ { type: "inline_keyboard", payload: { buttons: [ backRow ] } } ] }; return { json: { ...item.json, text, message_body, screen: "complaint" } }; } // Главное меню text = "Вас давно не было. Выберите, чем хотите заняться:"; const buttons = [ { title: "ℹ️ О сервисе", payload: "about" }, { title: "📝 Подать жалобу", payload: "complaint" }, { title: "📋 Мои обращения", payload: "my_tickets" }, { title: "💬 Поддержка", payload: "support" } ]; const callbackRows = buttons.map(b => [ { type: "callback", text: b.title, payload: b.payload } ]); const menuButtonRow = [ { type: "message", text: "📋 Главное меню" } ]; const contactButtonRow = [ { type: "request_contact", text: "📱 Отправить номер телефона" } ]; message_body = { text, format: "markdown", attachments: [ { type: "inline_keyboard", payload: { buttons: [ ...callbackRows, contactButtonRow, menuButtonRow ] } } ] }; return { json: { ...item.json, text, buttons, message_body, screen: "main" } }; });