Фреймворк для чат-ботов Skype — node.js

Я новичок в среде ботов и работаю над чат-ботом Skype с помощью Node SDK.

У меня есть массив дерева JSON, который предоставляет мне идентификатор и имена для данных дерева.

treeName = tree.parse({
    "id": 1,
    "title": "menu",
    "children": [
        {
            "id": 11,
            "title": "company _ data",
            "children": [{"id": 111}]
        },
        {
            "id": 12,
            "title": "adhoc data test ",
            "children": [{"id": 121}, {"id": 122}]
        },
        {
            "id": 13,
            "title": "quit",
            "children": [{"id": 131}, {"id": 132}]
        }
    ]
});

Код для получения заголовка из дерева.

var node1 = treeName.first(function (node) {
    return node.model.id === 1;
});

Множество

var firstChild = [];
        for (var i = 0; i < node1.model.children.length; i++) {
            firstChild.push(node1.model.children[i].title);
        }
        builder.Prompts.choice(session, "What scenario would you like to run? ",firstChild );

Когда я пытаюсь получить идентификатор, он будет работать хорошо, но если я хочу получить заголовок в одном массиве, я получаю эту ошибку:

/node_modules/promise/lib/done.js:10
      throw err;
      ^

TypeError: choice.trim is not a function

person Mukesh S    schedule 12.12.2016    source источник


Ответы (1)


Похоже, вы нигде не определили переменную «выбор».

treeName.title

or

treename.children[X].title

В этом случае первый вернет «меню», тогда как второй вернет «company_data» или «специальный тест данных» и т. д.

Вы не можете использовать .trim() для массивов или объектов.

person wilkgr    schedule 08.06.2017