我想主动结束特定用户的对话框。我看到API发送消息并主动使用对话地址启动对话。是否有任何API可以主动结束该对话的当前/特定对话(最好使用对话的地址)。我正在使用 bot builder Node.js SDK 。
这是为聊天管理员提供手动干预所必需的。我不想结束整个对话(还有一个API可以结束对话),但可以帮助用户处理某些事情。
可以找到所有提到的API here
答案 0 :(得分:1)
您可以尝试利用loadSession(address: IAddress, callback: (err: Error, session: Session) => void): void;
,然后在回调函数中结束转换。请参阅以下代码段:
let savedAddress;
server.get('/api/CustomWebApi', function (req, res, next) {
bot.loadSession(savedAddress, (err, session) => {
if (!err) {
session.send('ternimal this conversion')
session.endConversation();
}
})
res.send('triggered');
next();
});
bot.dialog('/', [
function (session) {
savedAddress = session.message.address;
message = 'You can terminate the conversation by accessing: ';
message += 'http://localhost:' + server.address().port + '/api/CustomWebApi';
session.send(message);
}
])
答案 1 :(得分:0)
对于Node.js机器人,您始终可以使用会话变量结束对话,即
session.endDialog();
请参阅bot builder SDK session参考。你也可以链接'这些方法,即做类似......
session.send('proactiveMessage').endDialog();
希望有所帮助!