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); }
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(); }
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; } }
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(); }
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; } }