From eab0e100c4368b3a9b42c0f8cc0f6cc4faf0f1bc Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 25 Jun 2021 22:54:34 -0400 Subject: be more consistent with callbacks --- discord/discord.hpp | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'discord/discord.hpp') diff --git a/discord/discord.hpp b/discord/discord.hpp index adfef93..cfce016 100644 --- a/discord/discord.hpp +++ b/discord/discord.hpp @@ -14,12 +14,10 @@ #include #include -// bruh #ifdef GetMessage #undef GetMessage #endif -// https://stackoverflow.com/questions/29775153/stopping-long-sleep-threads/29775639#29775639 class HeartbeatWaiter { public: template @@ -112,32 +110,32 @@ public: void UpdateStatus(PresenceStatus status, bool is_afk); void UpdateStatus(PresenceStatus status, bool is_afk, const ActivityData &obj); void CreateDM(Snowflake user_id); - void CreateDM(Snowflake user_id, sigc::slot callback); + void CreateDM(Snowflake user_id, sigc::slot callback); void CloseDM(Snowflake channel_id); std::optional FindDM(Snowflake user_id); // wont find group dms void AddReaction(Snowflake id, Glib::ustring param); void RemoveReaction(Snowflake id, Glib::ustring param); void SetGuildName(Snowflake id, const Glib::ustring &name); - void SetGuildName(Snowflake id, const Glib::ustring &name, sigc::slot callback); + void SetGuildName(Snowflake id, const Glib::ustring &name, sigc::slot callback); void SetGuildIcon(Snowflake id, const std::string &data); - void SetGuildIcon(Snowflake id, const std::string &data, sigc::slot callback); + void SetGuildIcon(Snowflake id, const std::string &data, sigc::slot callback); void UnbanUser(Snowflake guild_id, Snowflake user_id); - void UnbanUser(Snowflake guild_id, Snowflake user_id, sigc::slot callback); + void UnbanUser(Snowflake guild_id, Snowflake user_id, sigc::slot callback); void DeleteInvite(const std::string &code); - void DeleteInvite(const std::string &code, sigc::slot callback); + void DeleteInvite(const std::string &code, sigc::slot callback); void AddGroupDMRecipient(Snowflake channel_id, Snowflake user_id); void RemoveGroupDMRecipient(Snowflake channel_id, Snowflake user_id); - void ModifyRolePermissions(Snowflake guild_id, Snowflake role_id, Permission permissions, sigc::slot callback); - void ModifyRoleName(Snowflake guild_id, Snowflake role_id, const Glib::ustring &name, sigc::slot callback); - void ModifyRoleColor(Snowflake guild_id, Snowflake role_id, uint32_t color, sigc::slot callback); - void ModifyRoleColor(Snowflake guild_id, Snowflake role_id, Gdk::RGBA color, sigc::slot callback); - void ModifyRolePosition(Snowflake guild_id, Snowflake role_id, int position, sigc::slot callback); - void ModifyEmojiName(Snowflake guild_id, Snowflake emoji_id, const Glib::ustring &name, sigc::slot callback); - void DeleteEmoji(Snowflake guild_id, Snowflake emoji_id, sigc::slot callback); + void ModifyRolePermissions(Snowflake guild_id, Snowflake role_id, Permission permissions, sigc::slot callback); + void ModifyRoleName(Snowflake guild_id, Snowflake role_id, const Glib::ustring &name, sigc::slot callback); + void ModifyRoleColor(Snowflake guild_id, Snowflake role_id, uint32_t color, sigc::slot callback); + void ModifyRoleColor(Snowflake guild_id, Snowflake role_id, Gdk::RGBA color, sigc::slot callback); + void ModifyRolePosition(Snowflake guild_id, Snowflake role_id, int position, sigc::slot callback); + void ModifyEmojiName(Snowflake guild_id, Snowflake emoji_id, const Glib::ustring &name, sigc::slot callback); + void DeleteEmoji(Snowflake guild_id, Snowflake emoji_id, sigc::slot callback); std::optional GetGuildApplication(Snowflake guild_id) const; - void RemoveRelationship(Snowflake id, sigc::slot callback); - void SendFriendRequest(const Glib::ustring &username, int discriminator, sigc::slot callback); - void PutRelationship(Snowflake id, sigc::slot callback); // send fr by id, accept incoming + void RemoveRelationship(Snowflake id, sigc::slot callback); + void SendFriendRequest(const Glib::ustring &username, int discriminator, sigc::slot callback); + void PutRelationship(Snowflake id, sigc::slot callback); // send fr by id, accept incoming void Pin(Snowflake channel_id, Snowflake message_id, sigc::slot callback); void Unpin(Snowflake channel_id, Snowflake message_id, sigc::slot callback); @@ -146,11 +144,14 @@ public: // real client doesn't seem to use the single role endpoints so neither do we template - auto SetMemberRoles(Snowflake guild_id, Snowflake user_id, Iter begin, Iter end, sigc::slot callback) { + auto SetMemberRoles(Snowflake guild_id, Snowflake user_id, Iter begin, Iter end, sigc::slot callback) { ModifyGuildMemberObject obj; obj.Roles = { begin, end }; m_http.MakePATCH("/guilds/" + std::to_string(guild_id) + "/members/" + std::to_string(user_id), nlohmann::json(obj).dump(), [this, callback](const http::response_type &response) { - callback(CheckCode(response, 200)); + if (CheckCode(response)) + callback(DiscordError::NONE); + else + callback(GetCodeFromResponse(response)); }); } @@ -169,14 +170,14 @@ public: void FetchUserProfile(Snowflake user_id, sigc::slot callback); void FetchUserNote(Snowflake user_id, sigc::slot callback); void SetUserNote(Snowflake user_id, std::string note); - void SetUserNote(Snowflake user_id, std::string note, sigc::slot callback); + void SetUserNote(Snowflake user_id, std::string note, sigc::slot callback); void FetchUserRelationships(Snowflake user_id, sigc::slot)> callback); void FetchPinned(Snowflake id, sigc::slot, DiscordError code)> callback); bool IsVerificationRequired(Snowflake guild_id); void GetVerificationGateInfo(Snowflake guild_id, sigc::slot)> callback); - void AcceptVerificationGate(Snowflake guild_id, VerificationGateInfoObject info, sigc::slot callback); + void AcceptVerificationGate(Snowflake guild_id, VerificationGateInfoObject info, sigc::slot callback); void UpdateToken(std::string token); void SetUserAgent(std::string agent); -- cgit v1.2.3