diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-07-01 02:10:42 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-07-01 02:10:42 -0400 |
commit | ab448a3a9820663a882bde242525546cc4273516 (patch) | |
tree | b55ee697969427d404ccae2ce83c8f684c3602ed /src/discord | |
parent | 044e508df7868856648e14ad7c957be8b9bb46b5 (diff) | |
download | abaddon-portaudio-ab448a3a9820663a882bde242525546cc4273516.tar.gz abaddon-portaudio-ab448a3a9820663a882bde242525546cc4273516.zip |
show status, error when captcha required
Diffstat (limited to 'src/discord')
-rw-r--r-- | src/discord/discord.cpp | 7 | ||||
-rw-r--r-- | src/discord/errors.hpp | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/discord/discord.cpp b/src/discord/discord.cpp index 5dc0464..75d066b 100644 --- a/src/discord/discord.cpp +++ b/src/discord/discord.cpp @@ -1206,6 +1206,13 @@ void DiscordClient::RemoteAuthLogin(const std::string &ticket, const sigc::slot< if (CheckCode(r)) { callback(nlohmann::json::parse(r.text).at("encrypted_token").get<std::string>(), DiscordError::NONE); } else { + try { + const auto j = nlohmann::json::parse(r.text); + if (j.contains("captcha_service")) { + callback(std::nullopt, DiscordError::CAPTCHA_REQUIRED); + return; + } + } catch (...) {} callback(std::nullopt, GetCodeFromResponse(r)); } }); diff --git a/src/discord/errors.hpp b/src/discord/errors.hpp index 4579563..8ead4f2 100644 --- a/src/discord/errors.hpp +++ b/src/discord/errors.hpp @@ -11,6 +11,7 @@ enum class DiscordError { RELATIONSHIP_ALREADY_FRIENDS = 80007, NONE = -1, + CAPTCHA_REQUIRED = -2, }; constexpr const char *GetDiscordErrorDisplayString(DiscordError error) { |