Added a feature to force gamba messages even while live

This commit is contained in:
barelyprofessional
2025-09-24 01:20:54 -05:00
parent 0432d5360a
commit 40a452b8b7
2 changed files with 20 additions and 0 deletions

View File

@@ -518,4 +518,22 @@ public class StartAlmanacCommand : ICommand
botInstance.BotServices.AlmanacShill.StartShillTask(); botInstance.BotServices.AlmanacShill.StartShillTask();
await botInstance.SendChatMessageAsync("Asked it nicely to start", true); await botInstance.SendChatMessageAsync("Asked it nicely to start", true);
} }
}
public class ToggleForcedGambaMessagesCommand : ICommand
{
public List<Regex> Patterns => [
new Regex("^admin toggle gamba")
];
public string? HelpText => "Toggle forced gamba messages while a stream is running";
public UserRight RequiredRight => UserRight.TrueAndHonest;
public TimeSpan Timeout => TimeSpan.FromSeconds(10);
public RateLimitOptionsModel? RateLimitOptions => null;
public async Task RunCommand(ChatBot botInstance, MessageModel message, UserDbModel user, GroupCollection arguments,
CancellationToken ctx)
{
botInstance.BotServices.TemporarilyForceGambaMessages = !botInstance.BotServices.TemporarilyForceGambaMessages;
await botInstance.SendChatMessageAsync($"TemporarilyForceGambaMessages is now {botInstance.BotServices.TemporarilyForceGambaMessages}", true);
}
} }

View File

@@ -50,6 +50,7 @@ public class BotServices
// lol // lol
internal bool TemporarilyBypassGambaSeshForDiscord; internal bool TemporarilyBypassGambaSeshForDiscord;
internal bool TemporarilySuppressGambaMessages = false; internal bool TemporarilySuppressGambaMessages = false;
internal bool TemporarilyForceGambaMessages = false;
public BotServices(ChatBot botInstance, CancellationToken ctx) public BotServices(ChatBot botInstance, CancellationToken ctx)
{ {
@@ -1188,6 +1189,7 @@ public class BotServices
public async Task<bool> CheckBmjIsLive() public async Task<bool> CheckBmjIsLive()
{ {
if (TemporarilyForceGambaMessages) return false;
var isLive = var isLive =
(await SettingsProvider.GetValueAsync(BuiltIn.Keys.TwitchGraphQlPersistedCurrentlyLive)).ToBoolean(); (await SettingsProvider.GetValueAsync(BuiltIn.Keys.TwitchGraphQlPersistedCurrentlyLive)).ToBoolean();
if (isLive || TemporarilySuppressGambaMessages) if (isLive || TemporarilySuppressGambaMessages)