| @@ -63,26 +63,8 @@ namespace Discord.WebSocket | |||||
| if (!_messages.TryGetValue(fromMessageId.Value, out SocketMessage msg)) | if (!_messages.TryGetValue(fromMessageId.Value, out SocketMessage msg)) | ||||
| return ImmutableArray<SocketMessage>.Empty; | return ImmutableArray<SocketMessage>.Empty; | ||||
| int around = limit / 2; | int around = limit / 2; | ||||
| var before = _orderedMessages | |||||
| .Where(x => x < fromMessageId.Value) | |||||
| .Select(x => | |||||
| { | |||||
| if (_messages.TryGetValue(x, out SocketMessage msg)) | |||||
| return msg; | |||||
| return null; | |||||
| }) | |||||
| .Where(x => x != null) | |||||
| .Take(around); | |||||
| var after = _orderedMessages | |||||
| .Where(x => x > fromMessageId.Value) | |||||
| .Select(x => | |||||
| { | |||||
| if (_messages.TryGetValue(x, out SocketMessage msg)) | |||||
| return msg; | |||||
| return null; | |||||
| }) | |||||
| .Where(x => x != null) | |||||
| .Take(around); | |||||
| var before = GetMany(fromMessageId, Direction.Before, around); | |||||
| var after = GetMany(fromMessageId, Direction.After, around); | |||||
| return before.Concat(new SocketMessage[] { msg }).Concat(after).ToImmutableArray(); | return before.Concat(new SocketMessage[] { msg }).Concat(after).ToImmutableArray(); | ||||
| } | } | ||||