如果消息从bot发送到SfB,SfB客户端不接收消息,如果SfB窗口最小化,而不是在右上角,则添加了多个会话

时间:2018-01-11 06:30:00

标签: node.js azure botframework skype-for-business azure-bot-service

当消息从bot发送到SfB客户端时,如果SfB客户端窗口被最小化,或者没有在屏幕的右下角,或者在SfB客户端中添加了多个会话,则SfB客户端不会收到消息。

Bot Info

SDK平台:Node.js

botbuilder版本:3.8.4

活跃频道:Skype for Business

部署环境:Azure Bot服务,Azure应用服务

问题说明

我们为Skype for Business创建了一个机器人,以便与SFB客户开始对话。在我们的例子中,当使用以下代码从机器人发起对话时,如果 - 如果 - SFB客户端没有从机器人接收消息 用户已最小化SFB窗口, 要么 如果SFB客户端窗口不在屏幕的右下角附近。 要么 如果那时它只能从bot接收消息。 要么 如果用户在SFB客户端中添加了多个会话,

SFB客户端收到来自Bot的消息 - 如果 - 用户在屏幕的右下角有SFB窗口,它在SFB客户端窗口中只有一个覆盖(即与Bot的对话)。

    var restify = require('restify');
    var builder = require('botbuilder');

    var server = restify.createServer();
    server.listen(process.env.port || process.env.PORT || 3978, function () {
    console.log('%s listening to %s', server.name, server.url);
    });

    // Create chat connector for communicating with the Bot Framework Service
    var connector = new builder.ChatConnector({
    appId: //GUID,
    appPassword: password,
    stateEndpoint: process.env.BotStateEndpoint,
    openIdMetadata: process.env.BotOpenIdMetadata
    });

    // Listen for messages from users
    server.post('/api/messages', connector.listen());

    var inMemoryStorage = new builder.MemoryBotStorage();

    // Create your bot with a function to receive messages from the user
    var bot = new builder.UniversalBot(connector)
    .set('storage', inMemoryStorage);

    let addr1 =
    {
    channelId: 'skypeforbusiness',
    user: {
    id: 'sip:xyz@abcd.com'
    },
    channelData: {
    tenant: {
    id: //GUID
    }
    },
    bot:
    {
    id: 'sip:botid@abcd.com',
    name: 'BotName'
    },
    serviceUrl: 'https://api.skypeforbusiness.com/platformservice/botframework/'
    };

    bot.loadSession(addr1, function (err, session) {
    session.send('hi00');
    });

    bot.dialog('/', intents);

复制步骤

最小化SFB客户端窗口。

启动bot以启动对话,并将消息发送到SFB客户端。 要么 添加另一个会话到SFB客户端(与BOT之外的其他联系人)。 启动bot并从bot发起对话,将消息发送给SFB客户端。

在我们的例子中,我们在VSCode中进行stat调试并将调试器附加到NGRok)

预期行为

当Bot启动时,SFB客户端必须接收机器人发送的消息,无论客户端窗口是否最小化,还是有多个会话adde,或者SFB客户端窗口都在屏幕上的任何位置。

实际结果

当从Bot发送消息时,如果SFB客户端窗口不在屏幕的右下角,或者用户在SFB客户端窗口中有多个会话,则它不会从Bot接收消息。

错误消息。 - > 运行bot时没有看到错误消息。

0 个答案:

没有答案