如何在“ConversationUpdate”或“ContactRelationUpdate”上的SfB Bot中显示问候消息

时间:2018-04-20 09:23:08

标签: c# botframework skype-for-business

我已经尝试将ConversationUpdateContactRelationUpdate同时用于在MS Bot框架C#中为S4B通道创建并在混合环境中发布的机器人。 我希望机器人能够在没有用户首先发送消息的情况下发起对话,尽管我已经在Skype频道中实现了相同但S4B不会重现相同的行为。 这对我的团队来说是一个关键要求,下面的代码片段应该显示欢迎消息,将bot添加到联系人但似乎不起作用:

else if (activity.Type == ActivityTypes.ContactRelationUpdate) {
    IContactRelationUpdateActivity contactupdate = activity;
    var reply = activity.CreateReply();
    using (var scope = DialogModule.BeginLifetimeScope(Conversation.Container, activity)) {
        var client = scope.Resolve();
        if (contactupdate.Action.Equals("add")) {
            reply.Text = "Welcome";
            await client.Conversations.ReplyToActivityAsync(reply);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

尝试从使用您的邮件服务URL实例化的新连接器发送回复邮件

switch (message.Type) {
    //...
    case ActivityTypes.ConversationUpdate:
        ConnectorClient connector = new ConnectorClient(new Uri(message.ServiceUrl));
        reply = message.CreateReply("proactiveMessage");
        await connector.Conversations.ReplyToActivityAsync(reply);
        break;
    //...
}