Ejemplo n.º 1
0
        async Task UploadPictureToBot(StorageFile photoFile)
        {
            // Parse the connection string and return a reference to the storage account.
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol = https; AccountName = ***REPLACE_WITH_YOUR_STORAGE_ACCOUNT_NAME * **; AccountKey = ***REPLACE_WITH_YOUR_STORAGE_ACCOUNT_KEY * ***");
            // Create the blob client.
            CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

            // Retrieve a reference to a container.
            CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
            // Retrieve reference to a blob named "myblob".
            CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob");

            // Create or overwrite the "myblob" blob with contents from a local file.
            using (var fileStream = await photoFile.OpenStreamForReadAsync())
            {
                await blockBlob.UploadFromStreamAsync(fileStream);
            }

            //Add blob URL in bot message as attachment like below

            Microsoft.Bot.Connector.DirectLine.Models.Message userMessage = new Microsoft.Bot.Connector.DirectLine.Models.Message
            {
                FromProperty = "RaspberryPi",
                Text         = "Captured Photo"
            };
            userMessage.Attachments.Add(new Attachment()
            {
                ContentType = "blob", Url = blockBlob.Uri.ToString()
            });
            await _directLineClient.Conversations.PostMessageAsync(_directLineClientConv.ConversationId, userMessage);
        }
Ejemplo n.º 2
0
        public async Task SendBotMessageToIoTHub(Microsoft.Bot.Connector.DirectLine.Models.Message message)
        {
            var deviceClient      = DeviceClient.CreateFromConnectionString("Replace_Connection_String_From_Device_Registration_Step");
            var stringContent     = JsonConvert.SerializeObject(message);
            var jsonStringInBytes = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(stringContent));

            Debug.WriteLine("Message: " + stringContent);
            await deviceClient.SendEventAsync(jsonStringInBytes);
        }
        public async Task HandlePostbackEvent()
        {
            dl.Message sendMessage = new dl.Message()
            {
                Text         = lineEvent.Postback.Data,
                FromProperty = lineEvent.Source.UserId
            };

            // Send the message, then fetch and reply messages,
            await dlClient.Conversations.PostMessageAsync(conversationId, sendMessage);

            await GetAndReplyMessages();
        }
        public async Task HandleTextMessage()
        {
            var textMessage = JsonConvert.DeserializeObject <TextMessage>(lineEvent.Message.ToString());

            dl.Message sendMessage = new dl.Message()
            {
                Text         = textMessage.Text,
                FromProperty = lineEvent.Source.UserId
            };

            // Send the message, then fetch and reply messages,
            await dlClient.Conversations.PostMessageAsync(conversationId, sendMessage);

            await GetAndReplyMessages();
        }
Ejemplo n.º 5
0
        private async void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string secretout = appid + ":" + secret;
                var    uri       = new Uri("https://directline.botframework.com");

                string newsecret = "zHhveP4jk4o.cwA.cIA.QERY2t7safaD557XAYfyFp0WZrpQji3s2nI7QbPunSQ";

                DirectLineClientCredentials creds = new DirectLineClientCredentials(newsecret);

                DirectLineClient client = new DirectLineClient(uri, creds);
                Microsoft.Bot.Connector.DirectLine.Conversations convs = new Microsoft.Bot.Connector.DirectLine.Conversations(client);

                string waterMark;

                var conv = convs.NewConversation();
                var set  = convs.GetMessages(conv.ConversationId);
                waterMark = set.Watermark;

                Microsoft.Bot.Connector.DirectLine.Models.Message message = new Microsoft.Bot.Connector.DirectLine.Models.Message(conversationId: conv.ConversationId, text: textBox1.Text);
                //Console.WriteLine(message.Text);
                convs.PostMessage(conv.ConversationId, message);

                set = convs.GetMessages(conv.ConversationId, waterMark);
                PrintResponse(set);
                waterMark = set.Watermark;

                string x = await MakeRequest(textBox1.Text);

                //System.Threading.Thread.Sleep(15000);

                if (x != String.Empty)
                {
                    textBox2.Text += " Return JSON: " + x + System.Environment.NewLine;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 6
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string secretout = appid + ":" + secret;
                var    uri       = new Uri("https://directline.botframework.com");

                string newsecret = "WQcy4GowAQY.cwA.k3g.znNIK2YL4KHjYFlNMd0iND2ag67ONPy7jbOnUsKWhZk";

                DirectLineClientCredentials creds = new DirectLineClientCredentials(newsecret);

                DirectLineClient client = new DirectLineClient(uri, creds);
                Conversations    convs  = new Conversations(client);

                string waterMark;

                var conv = convs.NewConversation();
                var set  = convs.GetMessages(conv.ConversationId);
                waterMark = set.Watermark;

                Microsoft.Bot.Connector.DirectLine.Models.Message message = new Microsoft.Bot.Connector.DirectLine.Models.Message(conversationId: conv.ConversationId, text: textBox3.Text);
                //Console.WriteLine(message.Text);
                convs.PostMessage(conv.ConversationId, message);

                set = convs.GetMessages(conv.ConversationId, waterMark);
                PrintResponse(set);
                waterMark = set.Watermark;

                MakeRequest();

                if (retval != String.Empty)
                {
                    textBox1.Text += " Return JSON: " + retval + System.Environment.NewLine;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task HandleLocationMessage()
        {
            var locationMessage = JsonConvert.DeserializeObject <LocationMessage>(lineEvent.Message.ToString());

            dl.Message sendMessage = new dl.Message()
            {
                Text         = locationMessage.Title,
                FromProperty = lineEvent.Source.UserId,
                ChannelData  = new Place(
                    address: locationMessage.Address,
                    geo: new GeoCoordinates(
                        latitude: locationMessage.Latitude,
                        longitude: locationMessage.Longitude,
                        name: locationMessage.Title),
                    name: locationMessage.Title)
            };

            // Send the message, then fetch and reply messages,
            await dlClient.Conversations.PostMessageAsync(conversationId, sendMessage);

            await GetAndReplyMessages();
        }
Ejemplo n.º 8
0
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                string secretout = appid + ":" + secret;
                //var uri = new Uri("https://directline.botframework.com");
                var uri = new Uri(ConfigurationManager.AppSettings["DirectLineURL"].ToString());

                //string newsecret = "zHhveP4jk4o.cwA.cIA.QERY2t7safaD557XAYfyFp0WZrpQji3s2nI7QbPunSQ";

                string newsecret = ConfigurationManager.AppSettings["DirectLineSecret"].ToString();

                DirectLineClientCredentials creds = new DirectLineClientCredentials(newsecret);

                DirectLineClient client = new DirectLineClient(uri, creds);
                Microsoft.Bot.Connector.DirectLine.Conversations convs = new Microsoft.Bot.Connector.DirectLine.Conversations(client);

                string waterMark;

                var conv = convs.NewConversation();
                var set  = convs.GetMessages(conv.ConversationId);
                waterMark = set.Watermark;

                Microsoft.Bot.Connector.DirectLine.Models.Message message = new Microsoft.Bot.Connector.DirectLine.Models.Message(conversationId: conv.ConversationId, text: textBox1.Text);
                //Console.WriteLine(message.Text);
                convs.PostMessage(conv.ConversationId, message);

                set = convs.GetMessages(conv.ConversationId, waterMark);
                PrintResponse(set);
                waterMark = set.Watermark;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }