chore: migrate /vips command to Helix call (#4053)
* feat(helix): create response model for VIP listing * feat(helix): stub out channel/vips request + handler * feat(helix): parse VIPs list from data and pass to callback * feat(helix): handle errors when getting VIP list then pass to callback * feat(command): add barebones handler for helix-based /vips * feat(command): provide better /vips output when user is not broadcaster * chore(format): bulk reformat with clang-format * chore(changelog): add entry for /vips Helix migration * fix(helix): use correct method when calling VIP list endpoint * fix(helix): use correct VIP list endpoint * chore(tidy): please clang-tidy by marking parameter as unused * feat(command): display unsorted VIP list returned from Helix API * feat(settings): clone raid timegate settings for /vips * feat(command): check /vips timegate setting before execution * feat(command): handle 0 VIPs from Helix response * feat(command): sort users alphabetically from Helix VIPs response * fix(command): highlight users in Helix /vips output to match IRC * fix(command): replace dynamic /vips error message with hardcoded string * chore(comment): remove TODO comment that was DONE * chore(format): bulk reformat using clang-format * fix(command): send 0 VIP message after creation * chore: apply suggestions from Felanbird * fix(helix): change mention of user ban to VIPs in VIP list error message * feat(helix): distinguish non-broadcaster auth error when getting VIPs * chore(command): move handling of non-broadcaster /vips usage to API response * chore(format): re-indent multiline string to get away from 80 char limit * reformat * fix tests Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
@@ -800,6 +800,17 @@ void GeneralPage::initLayout(GeneralPageView &layout)
|
||||
helixTimegateWhisper->setMinimumWidth(
|
||||
helixTimegateWhisper->minimumSizeHint().width());
|
||||
|
||||
auto *helixTimegateVIPs =
|
||||
layout.addDropdown<std::underlying_type<HelixTimegateOverride>::type>(
|
||||
"Helix timegate /vips behaviour",
|
||||
{"Timegate", "Always use IRC", "Always use Helix"},
|
||||
s.helixTimegateVIPs,
|
||||
helixTimegateGetValue, //
|
||||
helixTimegateSetValue, //
|
||||
false);
|
||||
helixTimegateVIPs->setMinimumWidth(
|
||||
helixTimegateVIPs->minimumSizeHint().width());
|
||||
|
||||
layout.addStretch();
|
||||
|
||||
// invisible element for width
|
||||
|
||||
Reference in New Issue
Block a user