summaryrefslogtreecommitdiff
path: root/src/discord/channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/discord/channel.cpp')
-rw-r--r--src/discord/channel.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/discord/channel.cpp b/src/discord/channel.cpp
index 6277341..498b2e5 100644
--- a/src/discord/channel.cpp
+++ b/src/discord/channel.cpp
@@ -89,7 +89,15 @@ bool ChannelData::HasIcon() const noexcept {
}
std::string ChannelData::GetIconURL() const {
- return "https://cdn.discordapp.com/channel-icons/" + std::to_string(ID) + "/" + *Icon + ".png";
+ if (HasIcon()) {
+ return "https://cdn.discordapp.com/channel-icons/" + std::to_string(ID) + "/" + *Icon + ".png";
+ } else {
+ const auto recipients = GetDMRecipients();
+ if (!recipients.empty())
+ return recipients[0].GetAvatarURL("png", "32");
+ else
+ return "https://cdn.discordapp.com/embed/avatars/0.png";
+ }
}
std::string ChannelData::GetDisplayName() const {