结束对话主动

时间:2018-03-09 10:53:33

标签: node.js botframework

我想主动结束特定用户的对话框。我看到API发送消息并主动使用对话地址启动对​​话。是否有任何API可以主动结束该对话的当前/特定对话(最好使用对话的地址)。我正在使用 bot builder Node.js SDK

这是为聊天管理员提供手动干预所必需的。我不想结束整个对话(还有一个API可以结束对话),但可以帮助用户处理某些事情。

可以找到所有提到的API here

2 个答案:

答案 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(); 

希望有所帮助!