summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2021-01-28 18:58:03 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2021-01-28 18:58:03 -0500
commit57cec9fff9fc4b2945300b1e00e3a4a681573022 (patch)
tree00a89a041f661b51c1e5747088cb513bfa6259dd /components
parentf287d5cab18e5a449ed7ad70e67f2a06fbbe0596 (diff)
downloadabaddon-portaudio-57cec9fff9fc4b2945300b1e00e3a4a681573022.tar.gz
abaddon-portaudio-57cec9fff9fc4b2945300b1e00e3a4a681573022.zip
allow emoji completion in dm's
Diffstat (limited to 'components')
-rw-r--r--components/completer.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/components/completer.cpp b/components/completer.cpp
index 26d5cf2..5767853 100644
--- a/components/completer.cpp
+++ b/components/completer.cpp
@@ -158,8 +158,6 @@ void Completer::CompleteEmojis(const Glib::ustring &term) {
const auto &discord = Abaddon::Get().GetDiscordClient();
const auto channel_id = m_channel_id_cb();
const auto channel = discord.GetChannel(channel_id);
- if (!channel->GuildID.has_value()) return;
- const auto guild = discord.GetGuild(*channel->GuildID);
const auto make_entry = [&](const Glib::ustring &name, const Glib::ustring &completion, const Glib::ustring &url = "") -> CompleterEntry * {
const auto entry = CreateEntry(completion);
@@ -178,17 +176,20 @@ void Completer::CompleteEmojis(const Glib::ustring &term) {
};
int i = 0;
- if (guild->Emojis.has_value()) {
- for (const auto tmp : *guild->Emojis) {
- const auto emoji = discord.GetEmoji(tmp.ID);
- if (!emoji.has_value()) continue;
- if (emoji->IsAnimated.has_value() && *emoji->IsAnimated) continue;
- if (term.size() > 0)
- if (!StringContainsCaseless(emoji->Name, term)) continue;
- if (i++ > MaxCompleterEntries) break;
-
- const auto entry = make_entry(emoji->Name, "<:" + emoji->Name + ":" + std::to_string(emoji->ID) + ">", emoji->GetURL());
- }
+ if (channel->GuildID.has_value()) {
+ const auto guild = discord.GetGuild(*channel->GuildID);
+
+ if (guild->Emojis.has_value())
+ for (const auto tmp : *guild->Emojis) {
+ const auto emoji = discord.GetEmoji(tmp.ID);
+ if (!emoji.has_value()) continue;
+ if (emoji->IsAnimated.has_value() && *emoji->IsAnimated) continue;
+ if (term.size() > 0)
+ if (!StringContainsCaseless(emoji->Name, term)) continue;
+ if (i++ > MaxCompleterEntries) break;
+
+ const auto entry = make_entry(emoji->Name, "<:" + emoji->Name + ":" + std::to_string(emoji->ID) + ">", emoji->GetURL());
+ }
}
// if <15 guild emojis match then load up stock