Есть такой код
snippet('Business.Surveys.Surveys')
let surveyId = request.json.survey_id
let survey = getSurveyById(surveyId)
memory.setAttr("survey_id", surveyId)
memory.setAttr("survey", survey)
Сообщение
❗️ У вас назначен новый опрос ❗️
📅 Опрос: {{ &$survey.title }} (ID: {{ &$survey_id }})
📋 Описание: {{ &$survey.description }}
👨⚕️ Автор опроса: {{ &$survey.author }}
🏫 Группа: {{ &$survey.group_name }}
Пожалуйста, ознакомьтесь с опросом и не забудьте ответить вовремя!
В результате получаю
❗️ У вас назначен новый опрос ❗️
📅 Опрос: (ID: 1)
📋 Описание:
👨⚕️ Автор опроса:
🏫 Группа:
Пожалуйста, ознакомьтесь с опросом и не забудьте ответить вовремя!
Почему не выводится содержимое объекта survey? Такое воообще возможно в Metabot или надо каждое поле отдельно совать в memory?
Код плагина
snippet('Business.Helpers.Response')
snippet('Business.Helpers.Notifications')
/**
* Получает данные об опросе по его ID.
* @param {number} surveyId - ID опроса.
* @returns {Object} Ответ с результатами в формате JSON.
*/
function getSurveyById(surveyId) {
// Ищем опрос по ID в таблице surveys
let survey = table.find('surveys', [], [['id', '=', surveyId]]);
if (survey.length === 0) {
return getErrorResponse("Опрос с таким ID не найден.");
}
// Извлекаем данные опроса
survey = survey[0]; // Получаем первый элемент (он один, так как ID уникальный)
// Формируем ответ с данными опроса в формате JSON
let surveyData = {
id: survey.id,
group_id: survey.group_id,
group_name: survey.group_name,
title: survey.title,
description: survey.description,
author_id: survey.author_id,
author: survey.author_first_name + " " + survey.author_last_name,
status_id: survey.status_id,
status_name: survey.survey_status_name,
created_at: survey.created_at,
updated_at: survey.updated_at
};
// Возвращаем ответ с данными опроса в формате JSON
return surveyData;
}
Функция возвращает такую структуру
{
"id": 1,
"group_id": 1,
"group_name": "001",
"title": "Опрос тестовый",
"description": "Какая у вас погода?",
"author_id": 1,
"author": "Иван Иванов",
"status_id": 1,
"status_name": "Активен",
"created_at": "2025-02-11 08:56:11",
"updated_at": null
}
Как в Show Message команде указать макропеременные массива из memory или lead?
Спасибо за помощь.