fix: /ban messages for self/mod bans (#4164)

This commit is contained in:
nerix 2022-11-19 14:34:07 +01:00 committed by GitHub
parent 9f5477c433
commit 9fba0bd4ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 4 deletions

View file

@ -68,8 +68,8 @@
- Minor: Migrated /followersoff to Helix API. (#4040)
- Minor: Migrated /raid command to Helix API. Chat command will continue to be used until February 11th 2023. (#4029)
- Minor: Migrated /unraid command to Helix API. Chat command will continue to be used until February 11th 2023. (#4030)
- Minor: Migrated /ban to Helix API. (#4049)
- Minor: Migrated /timeout to Helix API. (#4049)
- Minor: Migrated /ban to Helix API. (#4049, #4164)
- Minor: Migrated /timeout to Helix API. (#4049, #4164)
- Minor: Migrated /w to Helix API. Chat command will continue to be used until February 11th 2023. (#4052)
- Minor: Migrated /vips to Helix API. Chat command will continue to be used until February 11th 2023. (#4053)
- Minor: Migrated /uniquechat and /r9kbeta to Helix API. (#4057)

View file

@ -2658,8 +2658,19 @@ void CommandController::initialize(Settings &, Paths &paths)
case Error::TargetBanned: {
// Equivalent IRC error
errorMessage = QString("%1 is already banned in this channel.")
.arg(userDisplayName);
errorMessage += QString("%1 is already banned in this channel.")
.arg(userDisplayName);
}
break;
case Error::CannotBanUser: {
// We can't provide the identical error as in IRC,
// because we don't have enough information about the user.
// The messages from IRC are formatted like this:
// "You cannot {op} moderator {mod} unless you are the owner of this channel."
// "You cannot {op} the broadcaster."
errorMessage += QString("You cannot %1 %2.")
.arg(operation, userDisplayName);
}
break;

View file

@ -2064,6 +2064,13 @@ void Helix::banUser(QString broadcasterID, QString moderatorID, QString userID,
{
failureCallback(Error::TargetBanned, message);
}
else if (message.startsWith(
"The user specified in the user_id field may "
"not be banned",
Qt::CaseInsensitive))
{
failureCallback(Error::CannotBanUser, message);
}
else
{
failureCallback(Error::Forwarded, message);

View file

@ -551,6 +551,7 @@ enum class HelixBanUserError { // /timeout, /ban
Ratelimited,
ConflictingOperation,
TargetBanned,
CannotBanUser,
// The error message is forwarded directly from the Twitch API
Forwarded,