fix: fixed optionals having IsSpecified true when objects weren't in cache (#1323)
* Fixed optionals having IsSpecified true when objects weren't in cache * Removed double null check
This commit is contained in:
committed by
Christopher F
parent
2e95c4913b
commit
1cc5d7321b
@@ -1295,7 +1295,16 @@ namespace Discord.WebSocket
|
|||||||
var cachedMsg = channel.GetCachedMessage(data.MessageId) as SocketUserMessage;
|
var cachedMsg = channel.GetCachedMessage(data.MessageId) as SocketUserMessage;
|
||||||
bool isCached = cachedMsg != null;
|
bool isCached = cachedMsg != null;
|
||||||
var user = await channel.GetUserAsync(data.UserId, CacheMode.CacheOnly).ConfigureAwait(false);
|
var user = await channel.GetUserAsync(data.UserId, CacheMode.CacheOnly).ConfigureAwait(false);
|
||||||
var reaction = SocketReaction.Create(data, channel, cachedMsg, Optional.Create(user));
|
|
||||||
|
var optionalMsg = !isCached
|
||||||
|
? Optional.Create<SocketUserMessage>()
|
||||||
|
: Optional.Create(cachedMsg);
|
||||||
|
|
||||||
|
var optionalUser = user is null
|
||||||
|
? Optional.Create<IUser>()
|
||||||
|
: Optional.Create(user);
|
||||||
|
|
||||||
|
var reaction = SocketReaction.Create(data, channel, optionalMsg, optionalUser);
|
||||||
var cacheable = new Cacheable<IUserMessage, ulong>(cachedMsg, data.MessageId, isCached, async () => await channel.GetMessageAsync(data.MessageId).ConfigureAwait(false) as IUserMessage);
|
var cacheable = new Cacheable<IUserMessage, ulong>(cachedMsg, data.MessageId, isCached, async () => await channel.GetMessageAsync(data.MessageId).ConfigureAwait(false) as IUserMessage);
|
||||||
|
|
||||||
cachedMsg?.AddReaction(reaction);
|
cachedMsg?.AddReaction(reaction);
|
||||||
@@ -1319,7 +1328,16 @@ namespace Discord.WebSocket
|
|||||||
var cachedMsg = channel.GetCachedMessage(data.MessageId) as SocketUserMessage;
|
var cachedMsg = channel.GetCachedMessage(data.MessageId) as SocketUserMessage;
|
||||||
bool isCached = cachedMsg != null;
|
bool isCached = cachedMsg != null;
|
||||||
var user = await channel.GetUserAsync(data.UserId, CacheMode.CacheOnly).ConfigureAwait(false);
|
var user = await channel.GetUserAsync(data.UserId, CacheMode.CacheOnly).ConfigureAwait(false);
|
||||||
var reaction = SocketReaction.Create(data, channel, cachedMsg, Optional.Create(user));
|
|
||||||
|
var optionalMsg = !isCached
|
||||||
|
? Optional.Create<SocketUserMessage>()
|
||||||
|
: Optional.Create(cachedMsg);
|
||||||
|
|
||||||
|
var optionalUser = user is null
|
||||||
|
? Optional.Create<IUser>()
|
||||||
|
: Optional.Create(user);
|
||||||
|
|
||||||
|
var reaction = SocketReaction.Create(data, channel, optionalMsg, optionalUser);
|
||||||
var cacheable = new Cacheable<IUserMessage, ulong>(cachedMsg, data.MessageId, isCached, async () => await channel.GetMessageAsync(data.MessageId).ConfigureAwait(false) as IUserMessage);
|
var cacheable = new Cacheable<IUserMessage, ulong>(cachedMsg, data.MessageId, isCached, async () => await channel.GetMessageAsync(data.MessageId).ConfigureAwait(false) as IUserMessage);
|
||||||
|
|
||||||
cachedMsg?.RemoveReaction(reaction);
|
cachedMsg?.RemoveReaction(reaction);
|
||||||
|
|||||||
Reference in New Issue
Block a user