diff options
-rw-r--r-- | discord/snowflake.cpp | 10 | ||||
-rw-r--r-- | discord/usersettings.cpp | 1 | ||||
-rw-r--r-- | discord/usersettings.hpp | 2 | ||||
-rw-r--r-- | settings.cpp | 2 |
4 files changed, 9 insertions, 6 deletions
diff --git a/discord/snowflake.cpp b/discord/snowflake.cpp index 6923395..5528819 100644 --- a/discord/snowflake.cpp +++ b/discord/snowflake.cpp @@ -24,9 +24,13 @@ bool Snowflake::IsValid() const { } void from_json(const nlohmann::json &j, Snowflake &s) { - std::string tmp; - j.get_to(tmp); - s.m_num = std::stoull(tmp); + if (j.is_string()) { + std::string tmp; + j.get_to(tmp); + s.m_num = std::stoull(tmp); + } else { + j.get_to(s.m_num); + } } void to_json(nlohmann::json &j, const Snowflake &s) { diff --git a/discord/usersettings.cpp b/discord/usersettings.cpp index 2e5b7f5..e4ab41a 100644 --- a/discord/usersettings.cpp +++ b/discord/usersettings.cpp @@ -5,7 +5,6 @@ void from_json(const nlohmann::json &j, UserSettingsGuildFoldersEntry &m) { JS_D("guild_ids", m.GuildIDs); JS_N("id", m.ID); JS_N("name", m.Name); - } void from_json(const nlohmann::json &j, UserSettings &m) { diff --git a/discord/usersettings.hpp b/discord/usersettings.hpp index 56f931e..6d37b3c 100644 --- a/discord/usersettings.hpp +++ b/discord/usersettings.hpp @@ -6,7 +6,7 @@ struct UserSettingsGuildFoldersEntry { int Color = -1; // null std::vector<Snowflake> GuildIDs; - int ID = -1; // null + Snowflake ID; // null (this can be a snowflake as a string or an int that isnt a snowflake lol) std::string Name; // null friend void from_json(const nlohmann::json &j, UserSettingsGuildFoldersEntry &m); diff --git a/settings.cpp b/settings.cpp index dba2fd3..37a30e4 100644 --- a/settings.cpp +++ b/settings.cpp @@ -23,7 +23,7 @@ int SettingsManager::GetSettingInt(const std::string §ion, const std::string } bool SettingsManager::GetSettingBool(const std::string §ion, const std::string &key, bool fallback) const { - return GetSettingString(section, key, "false") != "false"; + return GetSettingString(section, key, fallback ? "true" : "false") != "false"; } bool SettingsManager::IsValid() const { |