public static async Task <BroadcastMessage> BuildTestPublishedMessage(SocketUser user, ulong guildId, ulong channelId) { var servers = BotFiles.GetConfiguredServers(); var server = servers.FirstOrDefault(x => x.Id == guildId); if (server == null) { return(null); } string url = "http://" + (server.UseYouTubeGamingPublished ? "gaming" : "www") + ".youtube.com/watch?v=B7wkzmZ4GBw"; EmbedBuilder embed = new EmbedBuilder(); EmbedAuthorBuilder author = new EmbedAuthorBuilder(); EmbedFooterBuilder footer = new EmbedFooterBuilder(); if (server.PublishedMessage == null) { server.PublishedMessage = "%CHANNEL% just published a new video."; } Color red = new Color(179, 18, 23); author.IconUrl = user.GetAvatarUrl() + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); author.Name = Program.client.CurrentUser.Username; author.Url = url; footer.Text = "[" + Constants.YouTube + "] - " + DateTime.UtcNow.AddHours(server.TimeZoneOffset); footer.IconUrl = "http://couchbot.io/img/ytg.jpg"; embed.Author = author; embed.Color = red; embed.Description = server.PublishedMessage.Replace("%CHANNEL%", "Test Channel").Replace("%TITLE%", "Test Title").Replace("%URL%", url); embed.Title = "Test Channel published a new video!"; embed.ThumbnailUrl = "http://couchbot.io/img/bot/vader.jpg" + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); embed.ImageUrl = server.AllowThumbnails ? "http://couchbot.io/img/bot/test_thumbnail.jpg" + "?_=" + Guid.NewGuid().ToString().Replace("-", "") : ""; embed.Footer = footer; var role = await DiscordHelper.GetRoleByGuildAndId(server.Id, server.MentionRole); var roleName = ""; if (role == null) { server.MentionRole = 0; } if (server.MentionRole == 0) { roleName = "@everyone"; } else if (server.MentionRole == 1) { roleName = "@here"; } else { roleName = role.Mention; } var message = (server.AllowEveryone ? roleName + " " : ""); if (server.UseTextAnnouncements) { if (!server.AllowThumbnails) { url = "<" + url + ">"; } message += "**[Test]** " + server.PublishedMessage.Replace("%CHANNEL%", "Test Channel").Replace("%TITLE%", "Test Title").Replace("%URL%", url); } var broadcastMessage = new BroadcastMessage() { GuildId = server.Id, ChannelId = channelId, UserId = "0", Message = message, Platform = "Test", Embed = (!server.UseTextAnnouncements ? embed.Build() : null) }; return(broadcastMessage); }
public static async Task <BroadcastMessage> BuildMessage(string channel, string gameName, string title, string url, string avatarUrl, string thumbnailUrl, string platform, string channelId, DiscordServer server, ulong discordChannelId, string teamName) { EmbedBuilder embed = new EmbedBuilder(); EmbedAuthorBuilder author = new EmbedAuthorBuilder(); EmbedFooterBuilder footer = new EmbedFooterBuilder(); if (server.LiveMessage == null) { server.LiveMessage = "%CHANNEL% just went live with %GAME% - %TITLE% - %URL%"; } author.IconUrl = Program.client.CurrentUser.GetAvatarUrl() + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); author.Name = Program.client.CurrentUser.Username; author.Url = url; footer.Text = "[" + platform + "] - " + DateTime.UtcNow.AddHours(server.TimeZoneOffset); embed.Author = author; if (platform.Equals(Constants.Mixer)) { embed.Color = Constants.Blue; embed.ThumbnailUrl = avatarUrl != null ? avatarUrl + "?_=" + Guid.NewGuid().ToString().Replace("-", "") : "https://mixer.com/_latest/assets/images/main/avatars/default.jpg"; footer.IconUrl = "http://couchbot.io/img/beam.jpg"; } else if (platform.Equals(Constants.YouTubeGaming)) { embed.Color = Constants.Red; embed.ThumbnailUrl = avatarUrl + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); footer.IconUrl = "http://couchbot.io/img/ytg.jpg"; } else if (platform.Equals(Constants.Twitch)) { embed.Color = Constants.Purple; embed.ThumbnailUrl = avatarUrl != null ? avatarUrl + "?_=" + Guid.NewGuid().ToString().Replace("-", "") : "https://static-cdn.jtvnw.net/jtv_user_pictures/xarth/404_user_70x70.png"; footer.IconUrl = "http://couchbot.io/img/twitch.jpg"; } else if (platform.Equals(Constants.Smashcast)) { embed.Color = Constants.Green; embed.ThumbnailUrl = avatarUrl + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); footer.IconUrl = "http://couchbot.io/img/smashcast.png"; } embed.Description = server.LiveMessage .Replace("%CHANNEL%", channel) .Replace("%GAME%", gameName) .Replace("%TITLE%", title) .Replace("%URL%", url); embed.Title = channel + (string.IsNullOrEmpty(teamName) ? "" : " from the team '" + teamName + "'") + " has gone live!"; embed.ImageUrl = server.AllowThumbnails ? thumbnailUrl + "?_=" + Guid.NewGuid().ToString().Replace("-", "") : ""; embed.Footer = footer; var role = await DiscordHelper.GetRoleByGuildAndId(server.Id, server.MentionRole); var roleName = ""; if (role == null) { server.MentionRole = 0; } if (server.MentionRole == 0) { roleName = "@everyone"; } else if (server.MentionRole == 1) { roleName = "@here"; } else { roleName = role.Mention; } var message = (server.AllowEveryone ? roleName + " " : ""); if (server.UseTextAnnouncements) { if (!server.AllowThumbnails) { url = "<" + url + ">"; } message += "**[" + platform + "]** " + server.LiveMessage.Replace("%CHANNEL%", channel).Replace("%GAME%", gameName).Replace("%TITLE%", title).Replace("%URL%", url); } var broadcastMessage = new BroadcastMessage() { GuildId = server.Id, ChannelId = discordChannelId, UserId = channelId, Message = message, Platform = platform, Embed = (!server.UseTextAnnouncements ? embed.Build() : null), DeleteOffline = server.DeleteWhenOffline }; return(broadcastMessage); }
public static async Task <BroadcastMessage> BuildTestMessage(SocketUser user, ulong guildId, ulong channelId, string platform) { var servers = BotFiles.GetConfiguredServers(); var server = servers.FirstOrDefault(x => x.Id == guildId); if (server == null) { return(null); } string gameName = "a game";; string url = "http://couchbot.io"; EmbedBuilder embed = new EmbedBuilder(); EmbedAuthorBuilder author = new EmbedAuthorBuilder(); EmbedFooterBuilder footer = new EmbedFooterBuilder(); if (server.LiveMessage == null) { server.LiveMessage = "%CHANNEL% just went live with %GAME% - %TITLE% - %URL%"; } Color color = new Color(76, 144, 243); if (platform.Equals(Constants.Twitch)) { color = new Color(100, 65, 164); footer.Text = "[" + Constants.Twitch + "] - " + DateTime.UtcNow.AddHours(server.TimeZoneOffset); footer.IconUrl = "http://couchbot.io/img/twitch.jpg"; } else if (platform.Equals(Constants.YouTube) || platform.Equals(Constants.YouTubeGaming)) { color = new Color(179, 18, 23); footer.Text = "[" + Constants.YouTubeGaming + "] - " + DateTime.UtcNow.AddHours(server.TimeZoneOffset); footer.IconUrl = "http://couchbot.io/img/ytg.jpg"; } else if (platform.Equals(Constants.Smashcast)) { color = new Color(153, 204, 0); footer.Text = "[" + Constants.Smashcast + "] - " + DateTime.UtcNow.AddHours(server.TimeZoneOffset); footer.IconUrl = "http://couchbot.io/img/smashcast.png"; } else if (platform.Equals(Constants.Mixer)) { color = new Color(76, 144, 243); footer.Text = "[" + Constants.Mixer + "] - " + DateTime.UtcNow.AddHours(server.TimeZoneOffset); footer.IconUrl = "http://couchbot.io/img/beam.jpg"; } author.IconUrl = (user.GetAvatarUrl() != null ? user.GetAvatarUrl() : "http://couchbot.io/img/bot/discord.png") + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); author.Name = Program.client.CurrentUser.Username; author.Url = url; embed.Author = author; embed.Color = color; embed.Description = server.LiveMessage.Replace("%CHANNEL%", "Test Channel").Replace("%GAME%", gameName).Replace("%TITLE%", "Test Title").Replace("%URL%", url); embed.Title = "Test Channel has gone live!"; embed.ThumbnailUrl = "http://couchbot.io/img/bot/vader.jpg" + "?_=" + Guid.NewGuid().ToString().Replace("-", ""); embed.ImageUrl = server.AllowThumbnails ? "http://couchbot.io/img/bot/test_thumbnail.jpg" + "?_=" + Guid.NewGuid().ToString().Replace("-", "") : ""; embed.Footer = footer; var role = await DiscordHelper.GetRoleByGuildAndId(server.Id, server.MentionRole); var roleName = ""; if (role == null && server.MentionRole != 1) { server.MentionRole = 0; } if (server.MentionRole == 0) { roleName = "@everyone"; } else if (server.MentionRole == 1) { roleName = "@here"; } else { roleName = role.Mention; } var message = (server.AllowEveryone ? roleName + " " : ""); if (server.UseTextAnnouncements) { if (!server.AllowThumbnails) { url = "<" + url + ">"; } message += "**[Test]** " + server.LiveMessage.Replace("%CHANNEL%", "Test Channel").Replace("%GAME%", gameName).Replace("%TITLE%", "Test Title").Replace("%URL%", url); } var broadcastMessage = new BroadcastMessage() { GuildId = server.Id, ChannelId = channelId, UserId = "0", Message = message, Platform = "Test", Embed = (!server.UseTextAnnouncements ? embed.Build() : null) }; return(broadcastMessage); }