From 28881143bed9e8015acc2e61ebd3539bb01a55c9 Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Sun, 1 Mar 2026 14:32:42 -0600 Subject: [PATCH] Ignore Bossman stream if a capture is already running due to Twitch GraphQL being trash --- KfChatDotNetBot/Services/BotServices.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/KfChatDotNetBot/Services/BotServices.cs b/KfChatDotNetBot/Services/BotServices.cs index dba4b13..eaa87dd 100644 --- a/KfChatDotNetBot/Services/BotServices.cs +++ b/KfChatDotNetBot/Services/BotServices.cs @@ -1003,8 +1003,20 @@ public class BotServices if (settings[BuiltIn.Keys.CaptureEnabled].ToBoolean()) { _logger.Info("Capturing Bossman's stream"); - _ = new StreamCapture($"https://www.twitch.tv/{settings[BuiltIn.Keys.TwitchBossmanJackUsername].Value}", - StreamCaptureMethods.Streamlink, + var url = $"https://www.twitch.tv/{settings[BuiltIn.Keys.TwitchBossmanJackUsername].Value}"; + var lockTable = SettingsProvider.GetValueAsync(BuiltIn.Keys.CaptureLockTable).Result + .JsonDeserialize>(); + if (lockTable != null && lockTable.TryGetValue(url, out var value)) + { + if (File.Exists(value)) + { + _logger.Warn($"Lock file ({value}) for {url} already exists, ignoring stream"); + UpdateBossmanLastSighting("maybe going live on Twitch, but was probably a Twitch error") + .Wait(_cancellationToken); + return; + } + } + _ = new StreamCapture(url, StreamCaptureMethods.Streamlink, new CaptureOverridesModel { CaptureYtDlpWorkingDirectory = settings[BuiltIn.Keys.CaptureStreamlinkBmjWorkingDirectory].Value