Migrate /ban and /timeout to Helix API (#4049)

This commit is contained in:
nerix
2022-10-06 23:52:25 +02:00
committed by GitHub
parent 41581031b9
commit 874ef64216
5 changed files with 331 additions and 1 deletions
+28 -1
View File
@@ -466,6 +466,18 @@ enum class HelixUpdateChatSettingsError { // update chat settings
Forwarded,
}; // update chat settings
enum class HelixBanUserError { // /timeout, /ban
Unknown,
UserMissingScope,
UserNotAuthorized,
Ratelimited,
ConflictingOperation,
TargetBanned,
// The error message is forwarded directly from the Twitch API
Forwarded,
}; // /timeout, /ban
class IHelix
{
public:
@@ -698,7 +710,14 @@ public:
ResultCallback<HelixChatSettings> successCallback,
FailureCallback<HelixUpdateChatSettingsError, QString>
failureCallback) = 0;
// https://dev.twitch.tv/docs/api/reference#update-chat-settings
// Ban/timeout a user
// https://dev.twitch.tv/docs/api/reference#ban-user
virtual void banUser(
QString broadcasterID, QString moderatorID, QString userID,
boost::optional<int> duration, QString reason,
ResultCallback<> successCallback,
FailureCallback<HelixBanUserError, QString> failureCallback) = 0;
virtual void update(QString clientId, QString oauthToken) = 0;
@@ -934,6 +953,14 @@ public:
FailureCallback<HelixUpdateChatSettingsError, QString> failureCallback)
final;
// Ban/timeout a user
// https://dev.twitch.tv/docs/api/reference#ban-user
void banUser(
QString broadcasterID, QString moderatorID, QString userID,
boost::optional<int> duration, QString reason,
ResultCallback<> successCallback,
FailureCallback<HelixBanUserError, QString> failureCallback) final;
void update(QString clientId, QString oauthToken) final;
static void initialize();