| @@ -0,0 +1,12 @@ | |||||
| using Newtonsoft.Json; | |||||
| namespace Discord.API.Gateway | |||||
| { | |||||
| internal class GuildJoinRequestDeleteEvent | |||||
| { | |||||
| [JsonProperty("user_id")] | |||||
| public ulong UserId { get; set; } | |||||
| [JsonProperty("guild_id")] | |||||
| public ulong GuildId { get; set; } | |||||
| } | |||||
| } | |||||
| @@ -335,6 +335,13 @@ namespace Discord.WebSocket | |||||
| remove { _guildUpdatedEvent.Remove(value); } | remove { _guildUpdatedEvent.Remove(value); } | ||||
| } | } | ||||
| internal readonly AsyncEvent<Func<SocketGuild, SocketGuild, Task>> _guildUpdatedEvent = new AsyncEvent<Func<SocketGuild, SocketGuild, Task>>(); | internal readonly AsyncEvent<Func<SocketGuild, SocketGuild, Task>> _guildUpdatedEvent = new AsyncEvent<Func<SocketGuild, SocketGuild, Task>>(); | ||||
| /// <summary>Fired when a user leaves without agreeing to the member screening </summary> | |||||
| public event Func<ulong, ulong, Task> GuildJoinRequestDeleted | |||||
| { | |||||
| add { _guildJoinRequestDeletedEvent.Add(value); } | |||||
| remove { _guildJoinRequestDeletedEvent.Remove(value); } | |||||
| } | |||||
| internal readonly AsyncEvent<Func<ulong, ulong, Task>> _guildJoinRequestDeletedEvent = new AsyncEvent<Func<ulong, ulong, Task>>(); | |||||
| #endregion | #endregion | ||||
| #region Users | #region Users | ||||
| @@ -485,6 +485,7 @@ namespace Discord.WebSocket | |||||
| client.GuildStickerCreated += (sticker) => _guildStickerCreated.InvokeAsync(sticker); | client.GuildStickerCreated += (sticker) => _guildStickerCreated.InvokeAsync(sticker); | ||||
| client.GuildStickerDeleted += (sticker) => _guildStickerDeleted.InvokeAsync(sticker); | client.GuildStickerDeleted += (sticker) => _guildStickerDeleted.InvokeAsync(sticker); | ||||
| client.GuildStickerUpdated += (before, after) => _guildStickerUpdated.InvokeAsync(before, after); | client.GuildStickerUpdated += (before, after) => _guildStickerUpdated.InvokeAsync(before, after); | ||||
| client.GuildJoinRequestDeleted += (userId, guildId) => _guildJoinRequestDeletedEvent.InvokeAsync(userId, guildId); | |||||
| } | } | ||||
| #endregion | #endregion | ||||
| @@ -1004,6 +1004,14 @@ namespace Discord.WebSocket | |||||
| } | } | ||||
| } | } | ||||
| break; | break; | ||||
| case "GUILD_JOIN_REQUEST_DELETE": | |||||
| { | |||||
| await _gatewayLogger.DebugAsync("Received Dispatch (GUILD_JOIN_REQUEST_DELETE)").ConfigureAwait(false); | |||||
| var data = (payload as JToken).ToObject<GuildJoinRequestDeleteEvent>(_serializer); | |||||
| await TimedInvokeAsync(_guildJoinRequestDeletedEvent, nameof(GuildJoinRequestDeleted), data.UserId, data.GuildId).ConfigureAwait(false); | |||||
| } | |||||
| break; | |||||
| #endregion | #endregion | ||||
| #region Channels | #region Channels | ||||