Remove deleted roles from their parent server
This commit is contained in:
@@ -476,6 +476,9 @@ namespace Discord
|
|||||||
var data = e.Payload.ToObject<GuildRoleCreateEvent>(_serializer);
|
var data = e.Payload.ToObject<GuildRoleCreateEvent>(_serializer);
|
||||||
var role = _roles.GetOrAdd(data.Data.Id, data.GuildId, false);
|
var role = _roles.GetOrAdd(data.Data.Id, data.GuildId, false);
|
||||||
role.Update(data.Data);
|
role.Update(data.Data);
|
||||||
|
var server = _servers[data.GuildId];
|
||||||
|
if (server != null)
|
||||||
|
server.AddRole(data.Data.Id);
|
||||||
RaiseRoleUpdated(role);
|
RaiseRoleUpdated(role);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -491,6 +494,9 @@ namespace Discord
|
|||||||
case "GUILD_ROLE_DELETE":
|
case "GUILD_ROLE_DELETE":
|
||||||
{
|
{
|
||||||
var data = e.Payload.ToObject<GuildRoleDeleteEvent>(_serializer);
|
var data = e.Payload.ToObject<GuildRoleDeleteEvent>(_serializer);
|
||||||
|
var server = _servers[data.GuildId];
|
||||||
|
if (server != null)
|
||||||
|
server.RemoveRole(data.RoleId);
|
||||||
var role = _roles.TryRemove(data.RoleId);
|
var role = _roles.TryRemove(data.RoleId);
|
||||||
if (role != null)
|
if (role != null)
|
||||||
RaiseRoleDeleted(role);
|
RaiseRoleDeleted(role);
|
||||||
|
|||||||
Reference in New Issue
Block a user