引导用户进行对话

时间:2019-09-08 10:01:32

标签: node.js slack botkit

我希望有人闲着对机器人说:

@Bot setup @usertosetup

然后应与要设置的用户开始对话。如果我是对的并且我没有看错,那么与机器人开始对话的人就是听它的人?

因此流程将是将新用户,管理员和漫游器闲置到自己的房间,然后开始对话。理想情况下,如果您可以在主聊天窗口中说出该短语并启动与用户建立的私人消息,但由于该频道尚不存在,我认为这不可能吗?

我正在使用Botkit完成此操作。

1 个答案:

答案 0 :(得分:1)

解决了。

controller.hears('setup','direct_mention', function(bot,message) {
    var x = message.text.indexOf("@");
    var usr = message.text.substr(x - 2, message.text.length);
    usr = usr.substring(3, usr.length - 1);

    bot.api.im.open({user: usr}, function(err, response) {
         bot.startConversation({
            user:usr,
            channel: response.channel.id
        }, "Hello");
});

因此,它使用@符号找到发送到机器人的消息的索引,将其拉出并执行一些子字符串操作来减少它。然后,通过频道启动对话。