public static EmbedBuilder GetOnIssuesUnassignedMessage(IssuesEvent.RootObject obj) { var builder = new EmbedBuilder() { Color = Const.DISCORD_EMBED_COLOR, Description = $"{obj.sender.login} un-assigned user to issue #{obj.issue.number} for {obj.repository.full_name}" }; builder.AddField(x => { x.Name = "Unassigned user"; x.Value = obj.assignee.login; x.IsInline = false; }); builder.AddField(x => { x.Name = "Users assigned to issue"; x.Value = obj.issue.assignees.Count > 0 ? string.Join(", ", obj.issue.assignees.Select(o => o.login)) : "None"; x.IsInline = false; }); builder.AddField(x => { x.Name = "Url"; x.Value = obj.issue.html_url; x.IsInline = false; }); return(builder); }
public static EmbedBuilder GetOnIssuesUnlabeledMessage(IssuesEvent.RootObject obj) { var builder = new EmbedBuilder() { Color = Const.DISCORD_EMBED_COLOR, Description = $"{obj.sender.login} removed a label from issue #{obj.issue.number} for {obj.repository.full_name}" }; builder.AddField(x => { x.Name = "Removed label"; x.Value = obj.label.name; x.IsInline = false; }); builder.AddField(x => { x.Name = "Current labels for issue"; x.Value = obj.issue.labels.Count > 0 ? string.Join(", ", obj.issue.labels.Select(o => o.name)) : "None"; x.IsInline = false; }); builder.AddField(x => { x.Name = "Url"; x.Value = obj.issue.html_url; x.IsInline = false; }); return(builder); }
private void OnIssues(IssuesEvent.RootObject obj) { //https://developer.github.com/v3/activity/events/types/#issuesevent if (obj == null) { return; } switch (obj.action) { case "opened": SendEventMessage(DiscordMessageFormatter.GetOnIssuesOpenedMessage(obj)); break; case "closed": SendEventMessage(DiscordMessageFormatter.GetOnIssuesClosedMessage(obj)); break; case "reopened": SendEventMessage(DiscordMessageFormatter.GetOnIssuesReopenedMessage(obj)); break; case "assigned": SendEventMessage(DiscordMessageFormatter.GetOnIssuesAssignedMessage(obj)); break; case "unassigned": SendEventMessage(DiscordMessageFormatter.GetOnIssuesUnassignedMessage(obj)); break; case "labeled": SendEventMessage(DiscordMessageFormatter.GetOnIssuesLabeledMessage(obj)); break; case "unlabeled": SendEventMessage(DiscordMessageFormatter.GetOnIssuesUnlabeledMessage(obj)); break; } }
public static EmbedBuilder GetOnIssuesClosedMessage(IssuesEvent.RootObject obj) { var builder = new EmbedBuilder() { Color = Const.DISCORD_EMBED_COLOR, Description = $"{obj.sender.login} closed issue #{obj.issue.number} for {obj.repository.full_name}" }; builder.AddField(x => { x.Name = obj.issue.title; x.Value = obj.issue.body; x.IsInline = false; }); builder.AddField(x => { x.Name = "Url"; x.Value = obj.issue.html_url; x.IsInline = false; }); return(builder); }