diff --git a/src/Discord.Net/Extensions/GuildExtensions.cs b/src/Discord.Net/Extensions/GuildExtensions.cs index 8100ca4b5..e8895f22c 100644 --- a/src/Discord.Net/Extensions/GuildExtensions.cs +++ b/src/Discord.Net/Extensions/GuildExtensions.cs @@ -8,5 +8,24 @@ namespace Discord.Extensions => await guild.GetChannelAsync(id).ConfigureAwait(false) as ITextChannel; public static async Task GetVoiceChannelAsync(this IGuild guild, ulong id) => await guild.GetChannelAsync(id).ConfigureAwait(false) as IVoiceChannel; + + public static async Task GetAFKChannelAsync(this IGuild guild) + { + var afkId = guild.AFKChannelId; + if (afkId.HasValue) + return await guild.GetChannelAsync(afkId.Value).ConfigureAwait(false) as IVoiceChannel; + return null; + } + public static async Task GetDefaultChannelAsync(this IGuild guild) + => await guild.GetChannelAsync(guild.DefaultChannelId).ConfigureAwait(false) as ITextChannel; + public static async Task GetEmbedChannelAsync(this IGuild guild) + { + var embedId = guild.EmbedChannelId; + if (embedId.HasValue) + return await guild.GetChannelAsync(embedId.Value).ConfigureAwait(false) as IVoiceChannel; + return null; + } + public static async Task GetOwnerAsync(this IGuild guild) + => await guild.GetUserAsync(guild.OwnerId).ConfigureAwait(false); } }