Add /setgame and /settitle (#2534)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
@@ -578,6 +578,48 @@ void Helix::unblockUser(QString targetUserId,
|
||||
.execute();
|
||||
}
|
||||
|
||||
void Helix::updateChannel(QString broadcasterId, QString gameId,
|
||||
QString language, QString title,
|
||||
std::function<void(NetworkResult)> successCallback,
|
||||
HelixFailureCallback failureCallback)
|
||||
{
|
||||
QUrlQuery urlQuery;
|
||||
auto data = QJsonDocument();
|
||||
auto obj = QJsonObject();
|
||||
if (!gameId.isEmpty())
|
||||
{
|
||||
obj.insert("game_id", gameId);
|
||||
}
|
||||
if (!language.isEmpty())
|
||||
{
|
||||
obj.insert("broadcaster_language", language);
|
||||
}
|
||||
if (!title.isEmpty())
|
||||
{
|
||||
obj.insert("title", title);
|
||||
}
|
||||
|
||||
if (title.isEmpty() && gameId.isEmpty() && language.isEmpty())
|
||||
{
|
||||
qCDebug(chatterinoCommon) << "Tried to update channel with no changes!";
|
||||
return;
|
||||
}
|
||||
|
||||
data.setObject(obj);
|
||||
urlQuery.addQueryItem("broadcaster_id", broadcasterId);
|
||||
this->makeRequest("channels", urlQuery)
|
||||
.type(NetworkRequestType::Patch)
|
||||
.header("Content-Type", "application/json")
|
||||
.payload(data.toJson())
|
||||
.onSuccess([successCallback, failureCallback](auto result) -> Outcome {
|
||||
successCallback(result);
|
||||
return Success;
|
||||
})
|
||||
.onError([failureCallback](NetworkResult result) {
|
||||
failureCallback();
|
||||
})
|
||||
.execute();
|
||||
}
|
||||
NetworkRequest Helix::makeRequest(QString url, QUrlQuery urlQuery)
|
||||
{
|
||||
assert(!url.startsWith("/"));
|
||||
|
||||
Reference in New Issue
Block a user