public void Delete(UserToReply user) { dbContext.UserToReplies.Remove(user); }
public void Update(UserToReply user) { dbContext.UserToReplies.Attach(user); }
public async Task InsertAsync(UserToReply user) { await dbContext.UserToReplies.AddAsync(user); }
public void Insert(UserToReply user) { dbContext.UserToReplies.Add(user); }
public async void CheckSentences(Microsoft.Bot.Connector.Activity activity) { var appCredentials = new MicrosoftAppCredentials(configurationRoot); //var connector = new ConnectorClient(new Uri(activity.ServiceUrl), appCredentials); var connector = new ConnectorClient(new Uri(activity.ServiceUrl)); string messages = activity.Text?.ToString().ToLower(); //Email variables var senderEmail = Environment.GetEnvironmentVariable("BOBTHEBOT_SENDER_EMAIL"); var senderName = Environment.GetEnvironmentVariable("BOBTHEBOT_SENDER_NAME"); #region Is Typing Activity // var activity = context.Activity as Activity; Trace.TraceInformation($"Type={activity.Type} Text={activity.Text}"); if (activity.Type == ActivityTypes.Message) { //var connector = new ConnectorClient(new System.Uri(activity.ServiceUrl)); var isTyping = activity.CreateReply("Nerdibot is thinking..."); isTyping.Type = ActivityTypes.Typing; await connector.Conversations.ReplyToActivityAsync(isTyping); // DEMO: I've added this for demonstration purposes, so we have time to see the "Is Typing" integration in the UI. Else the bot is too quick for us :) Thread.Sleep(2500); } #endregion await connector.Conversations.SendToConversationAsync(activity.Conversation.Id, activity : activity.CreateReply("Hello")); await connector.Conversations.ReplyToActivityAsync(activity : activity.CreateReply("Hello Reply")); if (activity.Conversation.IsGroup != null) { //Words to search for in conversation var wordsEntity = await wordCache.GetAsync(); var words = wordsEntity.Select(x => x.Word); // Get the conversation id so the bot answers. // var conversationId = activity.From.Id.ToString(); // Get a valid token //string token = await this.GetBotApiToken(); // send the message back using (var client = new System.Net.Http.HttpClient()) { string from = activity.From.Name.ToString(); string conv = activity.Conversation.Id; var group = conv.Split("|").Last().Split("\"").First(); // Set the toekn in the authorization header. //client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); if (words.Any(c => messages.Contains(c.ToLower()))) { var userToResponse = await unitOfWork.UserToReplyRepository.GetActiveUsers(); foreach (var user in userToResponse) { //send private message to user await connector.Conversations.SendToConversationAsync( user.ConversationId, activity : activity.CreateReply("Group: " + group + "\n" + "User: "******"\n" + "Message: " + "\"" + activity.Text.ToString() + "\"")); //send email to user if (user.SendEmail) { var msg = MailHelper.CreateSingleEmail( new EmailAddress(senderEmail, senderName), new EmailAddress(user.Email, user.SkypeUserName), "Subject", "", "Group: " + group + "\n" + "User: "******"\n" + "Message: " + "\"" + activity.Text.ToString() + "\""); var response2 = await sendGridClient.SendEmailAsync(msg); } } //string trustServiceUri = "https://api.skypeforbusiness.com/platformservice/botframework"; //MicrosoftAppCredentials.TrustServiceUrl(trustServiceUri); // await client.PostAsJsonAsync<ExpandoObject>( //$"https://api.skype.net/v3/conversations/{conversationId}/activities", //message as ExpandoObject); } } } else { if (messages.Contains("spamm me bob")) { var user = await unitOfWork.UserToReplyRepository.GetUserByIdAndName(activity.From.Id, activity.From.Name); if (user == null) { var newUser = new UserToReply(activity.Conversation.Id, activity.From.Id, activity.From.Name); await unitOfWork.UserToReplyRepository.InsertAsync(newUser); await unitOfWork.SaveChangesAsync(); await connector.Conversations.SendToConversationAsync(activity.Conversation.Id, activity : activity.CreateReply("User are now added as recipient")); } else { await connector.Conversations.SendToConversationAsync(activity.Conversation.Id, activity : activity.CreateReply("User already is added as recipient")); } } } //return null; }