Browse Source

Added support for GUILD_JOIN_REQUEST_DELETE event (#253)

Fixes #247
pull/1923/head
Will GitHub 3 years ago
parent
commit
dd3214d279
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 0 deletions
  1. +12
    -0
      src/Discord.Net.WebSocket/API/Gateway/GuildJoinRequestDeleteEvent.cs
  2. +7
    -0
      src/Discord.Net.WebSocket/BaseSocketClient.Events.cs
  3. +1
    -0
      src/Discord.Net.WebSocket/DiscordShardedClient.cs
  4. +8
    -0
      src/Discord.Net.WebSocket/DiscordSocketClient.cs

+ 12
- 0
src/Discord.Net.WebSocket/API/Gateway/GuildJoinRequestDeleteEvent.cs View File

@@ -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; }
}
}

+ 7
- 0
src/Discord.Net.WebSocket/BaseSocketClient.Events.cs View File

@@ -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


+ 1
- 0
src/Discord.Net.WebSocket/DiscordShardedClient.cs View File

@@ -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




+ 8
- 0
src/Discord.Net.WebSocket/DiscordSocketClient.cs View File

@@ -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


Loading…
Cancel
Save