私はボット フレームワークを初めて使用し、ノード SDK を使用して Skype チャット ボットに取り組んでいます。
ツリー データの ID と名前を提供する 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 );
ID を取得しようとするとうまくいきますが、1 つの配列でタイトルを取得したい場合は、次のエラーが発生します。
/node_modules/promise/lib/done.js:10
throw err;
^
TypeError: choice.trim is not a function