Fixed DM Channels being null on API requests
Created by: DWaffles
Summary
As @cmsteffey brought up in #lib-discussion, any API request for messages within a DM returns messages with null channels. This fixes that.
Details
Modified PrepareMessage()
in DiscordApiClient to check if the prepared message channel is null and construct channel objects from there.
The code is largely stolen based off UpdateMessage()
in DiscordClient. I'm not sure why GuildId isn't set either for the base channel in the original code, but if it isn't broke don't fix it.
https://github.com/DSharpPlus/DSharpPlus/blob/4281c5911997008400522111287e0b661a000d41/DSharpPlus/Clients/DiscordClient.cs#L776-L791
Notes
I've done light testing and nothing is broken, at least with, GetMessagesAsync()
, GetMessageAsync()
, creating messages via builder or content, GetPinnedMessagesAsync()
, and ModifyAsync()
.