Browse Source

Changed MessageUpdated to use Cacheable as well, after discussion with Volt.

tags/1.0-rc
Sindre G. Langhus 8 years ago
parent
commit
4b13e3fb00
2 changed files with 5 additions and 6 deletions
  1. +2
    -2
      src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs
  2. +3
    -4
      src/Discord.Net.WebSocket/DiscordSocketClient.cs

+ 2
- 2
src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs View File

@@ -65,12 +65,12 @@ namespace Discord.WebSocket
remove { _messageDeletedEvent.Remove(value); }
}
private readonly AsyncEvent<Func<Cacheable<SocketMessage, ulong>, ISocketMessageChannel, Task>> _messageDeletedEvent = new AsyncEvent<Func<Cacheable<SocketMessage, ulong>, ISocketMessageChannel, Task>>();
public event Func<Optional<SocketMessage>, SocketMessage, ISocketMessageChannel, Task> MessageUpdated
public event Func<Cacheable<SocketMessage, ulong>, SocketMessage, ISocketMessageChannel, Task> MessageUpdated
{
add { _messageUpdatedEvent.Add(value); }
remove { _messageUpdatedEvent.Remove(value); }
}
private readonly AsyncEvent<Func<Optional<SocketMessage>, SocketMessage, ISocketMessageChannel, Task>> _messageUpdatedEvent = new AsyncEvent<Func<Optional<SocketMessage>, SocketMessage, ISocketMessageChannel, Task>>();
private readonly AsyncEvent<Func<Cacheable<SocketMessage, ulong>, SocketMessage, ISocketMessageChannel, Task>> _messageUpdatedEvent = new AsyncEvent<Func<Cacheable<SocketMessage, ulong>, SocketMessage, ISocketMessageChannel, Task>>();
public event Func<Cacheable<SocketUserMessage, ulong>, ISocketMessageChannel, SocketReaction, Task> ReactionAdded
{
add { _reactionAddedEvent.Add(value); }


+ 3
- 4
src/Discord.Net.WebSocket/DiscordSocketClient.cs View File

@@ -1291,10 +1291,9 @@ namespace Discord.WebSocket

after = SocketMessage.Create(this, State, author, channel, data);
}
if (before != null)
await _messageUpdatedEvent.InvokeAsync(before, after, channel).ConfigureAwait(false);
else
await _messageUpdatedEvent.InvokeAsync(Optional.Create<SocketMessage>(), after, channel).ConfigureAwait(false);
var cacheableBefore = new Cacheable<SocketMessage, ulong>(before, data.Id, async () => await channel.GetMessageAsync(data.Id) as SocketMessage);

await _messageUpdatedEvent.InvokeAsync(cacheableBefore, after, channel).ConfigureAwait(false);
}
else
{


Loading…
Cancel
Save