public async Task <DougResponse> Clean(Command command) { if (!await _adminValidator.IsUserSlackAdmin(command.UserId)) { return(new DougResponse(DougMessages.NotAnAdmin)); } var slursToRemove = await FilterSlursToRemove(command.ChannelId); if (slursToRemove.Count == 0) { return(new DougResponse(DougMessages.SlursAreClean)); } var slurs = slursToRemove.Select(slur => _slurRepository.GetSlur(slur)).ToList(); var attachment = Attachment.DeletedSlursAttachment(slurs); await _slack.SendAttachments(new List <Attachment> { attachment }, command.ChannelId); slursToRemove.ForEach(slur => _slurRepository.RemoveSlur(slur)); _slurRepository.ClearRecentSlurs(); slurs.ForEach(slur => _userRepository.RemoveCredits(slur.CreatedBy, AddSlurCredit)); return(NoResponse); }
public DougResponse Profile(Command command) { var userId = command.UserId; if (command.IsUserArgument()) { userId = command.GetTargetUserId(); } var user = _userRepository.GetUser(userId); var attachments = new List <Attachment> { Attachment.StatsAttachment(user) }; _slack.SendAttachments(attachments, command.ChannelId); return(NoResponse); }