Botframework V4: изменение диалога при отправке проактивного сообщения - PullRequest
0 голосов
/ 08 ноября 2018

Я работал над сборкой бота с помощью V4 botframework SDK, и мы уже создали несколько диалогов для различных целей. Один из наших диалоговых окон используется для сбора данных, которые используются для создания записи собрания в среде CRM. Теперь мы хотим отправить пользователю, который использовал это диалоговое окно, упреждающее сообщение, когда передается конечная дата собрания.

В качестве подтверждения концепции я создал консольное приложение, которое создает упреждающее сообщение и отправляет это сообщение пользователю, используя тот же канал, который использовался ранее. похоже, это работает, но пользователь не может ответить на это упреждающее сообщение, поскольку пользователь все еще находится в одном из наших диалогов. Я хотел бы отправить проактивное сообщение, которое запускает новое диалоговое окно для пользователя.

На данный момент это мой код:

using System;
using System.Threading.Tasks;
using Microsoft.Bot.Connector;
using Microsoft.Bot.Connector.Authentication;
using Microsoft.Bot.Schema;

namespace TestBotframeworkSdkProActiveMessages
{
    class Program
    {
        static void Main(string[] args)
        {
            SendProActiveMessgae().Wait();
        }

        private static async Task SendProActiveMessgae()
        {
            var uri = new Uri("https://smba.trafficmanager.net/emea/");
            var appId = "MYAPPID";
            var appSecret = "MYAPPSECRET";
            var connector = new ConnectorClient(uri, appId, appSecret);
            var convoId = "MYCONVERSATIONID";
            var activity = new Activity()
            {
                Type = ActivityTypes.Message,
                From = new ChannelAccount("BOTID", "KaiBot_DEV"),
                Recipient = new ChannelAccount("USERID", "User Name"),
                Conversation = new ConversationAccount(false, "personal", convoId),
                Text = "My bot's message"
            };
            try
            {
                MicrosoftAppCredentials.TrustServiceUrl( "https://smba.trafficmanager.net/emea/");
                await connector.Conversations.SendToConversationAsync(convoId, activity);
            }
            catch (Exception ex)
            {
            Console.WriteLine(ex.Message);
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...