Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/application/discord/user_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/application/discord/user_manager.cpp')
-rw-r--r--source/application/discord/user_manager.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/source/application/discord/user_manager.cpp b/source/application/discord/user_manager.cpp
index f3ac0e2..ddb6d5c 100644
--- a/source/application/discord/user_manager.cpp
+++ b/source/application/discord/user_manager.cpp
@@ -13,7 +13,7 @@ namespace discord {
class UserEvents final {
public:
- static void OnCurrentUserUpdate(void* callbackData)
+ static void DISCORD_CALLBACK OnCurrentUserUpdate(void* callbackData)
{
auto* core = reinterpret_cast<Core*>(callbackData);
if (!core) {
@@ -55,4 +55,26 @@ void UserManager::GetUser(UserId userId, std::function<void(Result, User const&)
internal_->get_user(internal_, userId, cb.release(), wrapper);
}
+Result UserManager::GetCurrentUserPremiumType(PremiumType* premiumType)
+{
+ if (!premiumType) {
+ return Result::InternalError;
+ }
+
+ auto result = internal_->get_current_user_premium_type(
+ internal_, reinterpret_cast<EDiscordPremiumType*>(premiumType));
+ return static_cast<Result>(result);
+}
+
+Result UserManager::CurrentUserHasFlag(UserFlag flag, bool* hasFlag)
+{
+ if (!hasFlag) {
+ return Result::InternalError;
+ }
+
+ auto result = internal_->current_user_has_flag(
+ internal_, static_cast<EDiscordUserFlag>(flag), reinterpret_cast<bool*>(hasFlag));
+ return static_cast<Result>(result);
+}
+
} // namespace discord