Fix EmojiUpdate passing the same collection
Created by: VelvetThePanda
Summary
GuildEmojiUpdate wouldn't actually send the before and after, but instead the same collection in both properties
Details
When guild emojis are updated, we simply dump the entire cache and iterate through what discord sends
But the issue is here. Creating a new ReadOnlyDictionary from an existing dictionary only wraps the passed dictionary, and thus when clearing the guild cache, it would clear the underlying dictionary because it's passed by ref and nothing more
Changes proposed
use .ToImmutableDictionary()
Notes
Someone bad