public EmbedContent ParseHttpResponseToEmbedContent(HttpResponseMessage response) { var embedContent = new EmbedContent { Title = "GitHub Join Team: " }; if (response.IsSuccessStatusCode) { embedContent.Title += "Successful"; embedContent.Description = $"Welcome to Team {_teamSlug}, {_context.User.Mention}!"; } else { var errMsg = $"There was an error requesting to join the Organization's Team! GitHub's reason was: {response.ReasonPhrase}"; _logger.Error(errMsg); embedContent.Title += "Failed"; embedContent.Description = errMsg; } return(embedContent); }
private async Task <EmbedContent> CreateInactiveProjectAsync() { var embedContent = new EmbedContent(); var projectName = ParseCommandArguments.ParseBy(' ', _projectName)[0]; // Check if a project exists before creating one (unique project names) if (await _projectManager.DoesProjectExistAsync(projectName)) { embedContent.Title = "Failed"; embedContent.Description = $"Could not create new inactive project, **{projectName}** already exists!"; } // If no project exists by that name else { var user = new Member(_context.User); // Create a new project Project newProject = await _projectManager.CreateProjectAsync(projectName, user); embedContent.Title = "Success"; embedContent.Description = $"Successfully created inactive project **{newProject.Name}**!" + Environment.NewLine + Environment.NewLine + newProject; } return(embedContent); }
public override async Task <Embed> ExecuteAsync() { var newChannel = await _context.Guild.CreateTextChannelAsync(_newChannelName); var embedContent = new EmbedContent(); if (newChannel is not null) { embedContent.Title = $"Make Channel: {newChannel.Name}"; embedContent.Description = $"Successfully made new channel: <#{newChannel.Id}>"; } else { embedContent.Title = $"Make Channel: {newChannel.Name}"; embedContent.Description = $"Failed to make new channel: {newChannel.Name}"; } var embed = new EmbedBuilder() .WithColor(Color.Purple) .WithTitle(embedContent.Title) .WithDescription(embedContent.Description) .WithAuthor(_context.Message.Author) .Build(); return(embed); }
private async Task <EmbedContent> JoinProjectAsync() { var embedContent = new EmbedContent(); var projectName = ParseCommandArguments.ParseBy(' ', _projectName)[0]; var user = new Member(_context.User); // Attempt to join the project var result = await _projectManager.JoinProjectAsync(projectName, user); // Get the updated project object var project = await _projectManager.GetProjectAsync(projectName); // If joining was successful if (result) { embedContent.Title = "Success"; embedContent.Description = $"{_context.User} has successfully joined project **{projectName}**!" + Environment.NewLine + Environment.NewLine + project; // If project has become active from new user if (project.IsActive) { TransitionToActiveProject(project); } } else { embedContent.Title = "Failed"; embedContent.Description = $"{_context.User} failed to join project **{projectName}**!" + Environment.NewLine + Environment.NewLine + project; } return(embedContent); }
private async Task <EmbedContent> ListProjectsAsync() { var embedContent = new EmbedContent(); var sb = new StringBuilder(); // Read all projects var projects = new List <Project>(); projects.AddRange(await _projectRepository.ReadAllAsync()); for (var i = 0; i < projects.Count; i++) { sb.Append($"[{i+1}/{projects.Count}]" + projects[i] + Environment.NewLine + Environment.NewLine); } embedContent.Title = $"List Projects ({projects.Count})"; // "List Projects (0)" embedContent.Description = sb.ToString(); // "some-project ; Created by: SomeUser#1234 \r\n Current Members: SomeUser#1234 \r\n " return(embedContent); }
public async Task <EmbedContent> ParseHttpResponseToEmbedContentAsync(HttpResponseMessage response) { var embedContent = new EmbedContent { Title = "GitHub List Team Members" }; if (response.IsSuccessStatusCode) { var descriptionSb = new StringBuilder(); var json = await response.Content.ReadAsStringAsync(); var teamMembersJToken = JToken.Parse(json); var count = teamMembersJToken.Count(); descriptionSb.Append($"**Total Members on Team {_gitHubTeamSlug}: {count}**{Environment.NewLine}"); for (var i = 0; i < count; i++) { descriptionSb.Append($"{i + 1}: {teamMembersJToken[i]["login"]} ({teamMembersJToken[i]["url"]}){Environment.NewLine}"); } embedContent.Title += "Successful"; embedContent.Description = descriptionSb.ToString(); } else { var errMsg = $"There was an error requesting to list the Team's Members! GitHub's reason was: {response.ReasonPhrase}"; _logger.Error(errMsg); embedContent.Title += ": Failed"; embedContent.Description = errMsg; } return(embedContent); }