diff --git a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs index f91f131d9..e920145a3 100644 --- a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs +++ b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs @@ -142,7 +142,7 @@ namespace Discord.Rest if (name == null) throw new ArgumentNullException(nameof(name)); var model = await client.ApiClient.CreateGuildRoleAsync(guild.Id, options).ConfigureAwait(false); - var role = RestRole.Create(client, model); + var role = RestRole.Create(guild, client, model); await role.ModifyAsync(x => { diff --git a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs index a0ba7a6de..4bb0ab60d 100644 --- a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs +++ b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs @@ -87,7 +87,7 @@ namespace Discord.Rest if (model.Roles != null) { for (int i = 0; i < model.Roles.Length; i++) - roles[model.Roles[i].Id] = RestRole.Create(Discord, model.Roles[i]); + roles[model.Roles[i].Id] = RestRole.Create(this, Discord, model.Roles[i]); } _roles = roles.ToImmutable(); diff --git a/src/Discord.Net.Rest/Entities/Roles/RestRole.cs b/src/Discord.Net.Rest/Entities/Roles/RestRole.cs index 6e81ce9df..fcae5a21c 100644 --- a/src/Discord.Net.Rest/Entities/Roles/RestRole.cs +++ b/src/Discord.Net.Rest/Entities/Roles/RestRole.cs @@ -9,7 +9,7 @@ namespace Discord.Rest [DebuggerDisplay(@"{DebuggerDisplay,nq}")] public class RestRole : RestEntity, IRole { - public RestGuild Guild { get; } + public IGuild Guild { get; } public Color Color { get; private set; } public bool IsHoisted { get; private set; } public bool IsManaged { get; private set; } @@ -22,13 +22,14 @@ namespace Discord.Rest public bool IsEveryone => Id == Guild.Id; public string Mention => MentionUtils.MentionRole(Id); - internal RestRole(BaseDiscordClient discord, ulong id) + internal RestRole(IGuild guild, BaseDiscordClient discord, ulong id) : base(discord, id) { + Guild = guild; } - internal static RestRole Create(BaseDiscordClient discord, Model model) + internal static RestRole Create(IGuild guild, BaseDiscordClient discord, Model model) { - var entity = new RestRole(discord, model.Id); + var entity = new RestRole(guild, discord, model.Id); entity.Update(model); return entity; }