From 46e32c27eea37b8e0c8f6ac9a2f410dfb0524b03 Mon Sep 17 00:00:00 2001
From: OnlyRealNubs <91900600+OnlyRealNubs@users.noreply.github.com>
Date: Thu, 30 Mar 2023 18:20:09 -0400
Subject: [PATCH 1/6] ConfigApp Changes
---
ConfigApp/MainWindow.xaml | 13 ++++++++++---
ConfigApp/MainWindow.xaml.cs | 29 +++++++++++++++++++++++++++++
2 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/ConfigApp/MainWindow.xaml b/ConfigApp/MainWindow.xaml
index 41b1251e7..e3f3b9de8 100644
--- a/ConfigApp/MainWindow.xaml
+++ b/ConfigApp/MainWindow.xaml
@@ -285,10 +285,17 @@
-
+
-
+
+
+
Date: Thu, 30 Mar 2023 18:20:28 -0400
Subject: [PATCH 2/6] Proxy Changes
---
TwitchChatVotingProxy/Config/Config.cs | 10 ++++
.../OverlayServer/OverlayMessage.cs | 49 +++++++++++++++++--
.../OverlayServer/OverlayServer.cs | 40 +++++++++++----
.../OverlayServer/OverlayServerConfig.cs | 10 ++--
.../TwitchChatVotingProxy.cs | 14 ++++--
.../TwitchChatVotingProxy.csproj | 1 +
6 files changed, 102 insertions(+), 22 deletions(-)
diff --git a/TwitchChatVotingProxy/Config/Config.cs b/TwitchChatVotingProxy/Config/Config.cs
index 709f2014f..8a0aaa270 100644
--- a/TwitchChatVotingProxy/Config/Config.cs
+++ b/TwitchChatVotingProxy/Config/Config.cs
@@ -1,12 +1,14 @@
using Serilog;
using Shared;
using System.IO;
+using System.Windows.Media;
namespace TwitchChatVotingProxy.Config
{
class Config : IConfig
{
public static readonly string KEY_OVERLAY_SERVER_PORT = "OverlayServerPort";
+ public static readonly string KEY_OVERLAY_VOTING_BAR_COLOR = "TwitchVotingOverlayBarColor";
public static readonly string KEY_TWITCH_CHANNEL_NAME = "TwitchChannelName";
public static readonly string KEY_TWITCH_CHANNEL_OAUTH = "TwitchChannelOAuth";
public static readonly string KEY_TWITCH_CHANNEL_USER_NAME = "TwitchUserName";
@@ -17,6 +19,7 @@ class Config : IConfig
public EOverlayMode? OverlayMode { get; set; }
public int? OverlayServerPort { get; set; }
+ public Color? OverlayVotingBarColor { get; set; }
public bool RetainInitalVotes { get; set; }
public EVotingMode? VotingMode { get; set; }
public string TwitchChannelName { get; set; }
@@ -40,6 +43,11 @@ public Config(string file)
OverlayServerPort = optionsFile.ReadValueInt(KEY_OVERLAY_SERVER_PORT, -1);
if (OverlayServerPort == -1) OverlayServerPort = null;
+ if (optionsFile.HasKey("OverlayVotingBarColor"))
+ {
+ OverlayVotingBarColor = (Color)ColorConverter.ConvertFromString(optionsFile.ReadValue(KEY_OVERLAY_VOTING_BAR_COLOR));
+ }
+ else { OverlayVotingBarColor = null; }
RetainInitalVotes = optionsFile.ReadValueBool(KEY_TWITCH_RETAIN_INITIAL_VOTES, false);
TwitchChannelName = optionsFile.ReadValue(KEY_TWITCH_CHANNEL_NAME);
TwitchOAuth = optionsFile.ReadValue(KEY_TWITCH_CHANNEL_OAUTH);
@@ -63,6 +71,8 @@ public Config(string file)
{
PermittedTwitchUsernames = new string[0];
}
+
+ logger.Information("auccesfully read twitch voting config");
}
}
}
diff --git a/TwitchChatVotingProxy/OverlayServer/OverlayMessage.cs b/TwitchChatVotingProxy/OverlayServer/OverlayMessage.cs
index 7b6ab3ccc..7649c1282 100644
--- a/TwitchChatVotingProxy/OverlayServer/OverlayMessage.cs
+++ b/TwitchChatVotingProxy/OverlayServer/OverlayMessage.cs
@@ -1,9 +1,33 @@
-namespace TwitchChatVotingProxy.OverlayServer
+using System.Windows.Media;
+
+namespace TwitchChatVotingProxy.OverlayServer
{
+ enum eMessageType : int
+ {
+ NONE = -1,
+ SET_VOTES,
+ SET_COLOR
+ }
+
+ ///
+ /// Universal container for voting overlay message data
+ ///
+ class OverlayBaseMessage
+ {
+ ///
+ /// The type of the message request. This is read by the overlay to properly parse the correct request message.
+ ///
+ public string type { get; set; }
+ ///
+ /// The json data (serialized) of the actual request
+ ///
+ public string messageData { get; set; }
+ }
+
///
- /// Message which is being sent
+ /// Message containing voting data
///
- class OverlayMessage
+ class OverlayVotingMessage
{
public bool retainInitialVotes { get; set; }
///
@@ -23,4 +47,23 @@ class OverlayMessage
///
public OverlayVoteOption[] voteOptions { get; set; }
}
+
+ ///
+ /// Message to tell the voting overlay to update the style color for the bar progression
+ ///
+ class OverlayColorMessage
+ {
+ ///
+ /// Red value of the style color
+ ///
+ public int colorR;
+ ///
+ /// Green value of the style color
+ ///
+ public int colorG;
+ ///
+ /// Blue value of the style color
+ ///
+ public int colorB;
+ }
}
diff --git a/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs b/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs
index dba893ee3..6ec9ade9a 100644
--- a/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs
+++ b/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs
@@ -10,7 +10,7 @@ namespace TwitchChatVotingProxy.OverlayServer
class OverlayServer : IOverlayServer
{
private OverlayServerConfig config;
- private List connections = new List();
+ private List connections = new List();
private ILogger logger = Log.Logger.ForContext();
public OverlayServer(OverlayServerConfig config)
@@ -19,16 +19,32 @@ public OverlayServer(OverlayServerConfig config)
try
{
- var WSS = new Fleck.WebSocketServer($"ws://0.0.0.0:{config.Port}");
+ var WSS = new WebSocketServer($"ws://0.0.0.0:{config.Port}");
// Set the websocket listeners
WSS.Start(connection =>
{
connection.OnOpen += () => OnWsConnectionOpen(connection);
connection.OnClose += () => OnWSConnectionClose(connection);
});
+
+ //Set voting bar color
+ SendSetBarColorMessage();
} catch (Exception e)
{
- logger.Fatal(e, "failed so start websocket server");
+ logger.Fatal(e, "failed to start websocket server");
+ }
+ }
+
+ public void SendSetBarColorMessage()
+ {
+ if (config.OverlayVotingBarColor != null)
+ {
+ var clrMsg = new OverlayColorMessage();
+ clrMsg.colorR = config.OverlayVotingBarColor.R;
+ clrMsg.colorG = config.OverlayVotingBarColor.G;
+ clrMsg.colorB = config.OverlayVotingBarColor.B;
+
+ Broadcast(eMessageType.SET_COLOR, JsonConvert.SerializeObject(clrMsg));
}
}
@@ -52,14 +68,20 @@ public void UpdateVoting(List voteOptions)
///
/// Broadcasts a message to all socket clients
///
+ /// Type of message which should be broadcast
/// Message which should be broadcast
- private void Broadcast(string message)
+ private void Broadcast(eMessageType messageType, string message)
{
+ OverlayBaseMessage baseMsg = new OverlayBaseMessage();
+ baseMsg.type = Enum.GetName(typeof(eMessageType), messageType);
+ baseMsg.messageData = message;
+ string msg = JsonConvert.SerializeObject(baseMsg);
+
connections.ForEach(connection =>
{
// If the connection is not available for some reason, we just close it
if (!connection.IsAvailable) connection.Close();
- else connection.Send(message);
+ else connection.Send(msg);
});
}
///
@@ -99,7 +121,7 @@ private void OnWsConnectionOpen(IWebSocketConnection connection)
/// Vote options that should be sent
private void Request(string request, List voteOptions)
{
- var msg = new OverlayMessage();
+ var msg = new OverlayVotingMessage();
msg.request = request;
msg.voteOptions = voteOptions.ConvertAll(_ => new OverlayVoteOption(_)).ToArray();
msg.retainInitialVotes = config.RetainInitialVotes;
@@ -116,9 +138,7 @@ private void Request(string request, List voteOptions)
msg.totalVotes = 0;
voteOptions.ForEach(_ => msg.totalVotes += _.Votes);
// Send the message to all clients
- Broadcast(JsonConvert.SerializeObject(msg));
+ Broadcast(eMessageType.SET_VOTES, JsonConvert.SerializeObject(msg));
}
}
-}
-
-
+}
\ No newline at end of file
diff --git a/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs b/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs
index e6c11cc46..4f2baea7b 100644
--- a/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs
+++ b/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.Windows.Media;
namespace TwitchChatVotingProxy.OverlayServer
{
@@ -14,12 +10,14 @@ class OverlayServerConfig
public bool RetainInitialVotes { get; set; }
public EVotingMode VotingMode { get; set; }
public int Port { get; set; }
+ public Color OverlayVotingBarColor { get; set; }
- public OverlayServerConfig(EVotingMode votingMode, bool retainInitialVotes, int? port)
+ public OverlayServerConfig(EVotingMode votingMode, bool retainInitialVotes, int? port, Color overlayVotingBarColor)
{
RetainInitialVotes = retainInitialVotes;
VotingMode = votingMode;
Port = port == null ? 9091 : (int)port;
+ OverlayVotingBarColor = overlayVotingBarColor;
}
}
}
diff --git a/TwitchChatVotingProxy/TwitchChatVotingProxy.cs b/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
index b40b69685..c894f2361 100644
--- a/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
+++ b/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
@@ -67,10 +67,13 @@ private static void Main(string[] args)
if (config.OverlayMode == EOverlayMode.OVERLAY_OBS)
{
// Create overlay server config
- OverlayServerConfig overlayServerConfig = new OverlayServerConfig(votingMode, config.RetainInitalVotes, config.OverlayServerPort);
+ //OverlayServerConfig overlayServerConfig = new OverlayServerConfig(votingMode, config.RetainInitalVotes, config.OverlayServerPort);
+ OverlayServerConfig overlayServerConfig = new OverlayServerConfig(votingMode, config.RetainInitalVotes, config.OverlayServerPort, config.OverlayVotingBarColor);
// Create component
overlayServer = new OverlayServer.OverlayServer(overlayServerConfig);
+
+ logger.Information("succesfully setup OBS voting overlay");
}
// Create components
@@ -80,9 +83,14 @@ private static void Main(string[] args)
// Start the chaos mod controller
new ChaosModController(chaosPipe, overlayServer, votingReceiver, config);
- while (chaosPipe.IsConnected())
+ if (chaosPipe.IsConnected())
{
- Thread.Sleep(100);
+ logger.Information("succesfully setup twitch chat voting proxy");
+
+ while (chaosPipe.IsConnected())
+ {
+ Thread.Sleep(100);
+ }
}
}
finally
diff --git a/TwitchChatVotingProxy/TwitchChatVotingProxy.csproj b/TwitchChatVotingProxy/TwitchChatVotingProxy.csproj
index 0e093ddfc..ebcedeea4 100644
--- a/TwitchChatVotingProxy/TwitchChatVotingProxy.csproj
+++ b/TwitchChatVotingProxy/TwitchChatVotingProxy.csproj
@@ -56,6 +56,7 @@
..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
+
..\packages\Serilog.2.10.0\lib\net46\Serilog.dll
From e6d2498101d4acaff86fc487f1b1bfc959a1226a Mon Sep 17 00:00:00 2001
From: OnlyRealNubs <91900600+OnlyRealNubs@users.noreply.github.com>
Date: Thu, 30 Mar 2023 18:20:39 -0400
Subject: [PATCH 3/6] OBS Overlay Changes
---
twitchVotingOverlay/src/barOverlay.ts | 4 +-
.../src/chaosOverlayClient/client.ts | 57 ++++++++++++-------
.../src/chaosOverlayClient/iMessage.ts | 14 ++++-
.../src/chaosOverlayClient/index.ts | 2 +-
.../src/chaosOverlayClient/tEvent.ts | 4 +-
twitchVotingOverlay/src/style.ts | 11 ++++
6 files changed, 66 insertions(+), 26 deletions(-)
create mode 100644 twitchVotingOverlay/src/style.ts
diff --git a/twitchVotingOverlay/src/barOverlay.ts b/twitchVotingOverlay/src/barOverlay.ts
index 126e7c997..bd8c6f0a9 100644
--- a/twitchVotingOverlay/src/barOverlay.ts
+++ b/twitchVotingOverlay/src/barOverlay.ts
@@ -1,5 +1,5 @@
import { IChaosOverlayClient } from './chaosOverlayClient/iClient';
-import { IChaosOverlayClientMessage } from './chaosOverlayClient/iMessage';
+import { IChaosOverlayVotingClientMessage } from './chaosOverlayClient/iMessage';
const ANIMATION_DELAY_DELTA = 100;
const ANIMATION_LENGTH = 600;
@@ -115,7 +115,7 @@ export class BarOverlay {
private onEndVote(): void {
this.bars.forEach(bar => (bar.isDisabled = true));
}
- private onUpdateVote(message: IChaosOverlayClientMessage): void {
+ private onUpdateVote(message: IChaosOverlayVotingClientMessage): void {
const { retainInitialVotes, voteOptions, votingMode } = message;
let { totalVotes } = message;
diff --git a/twitchVotingOverlay/src/chaosOverlayClient/client.ts b/twitchVotingOverlay/src/chaosOverlayClient/client.ts
index a3fa6a563..cb09438ec 100644
--- a/twitchVotingOverlay/src/chaosOverlayClient/client.ts
+++ b/twitchVotingOverlay/src/chaosOverlayClient/client.ts
@@ -1,8 +1,9 @@
import { IChaosOverlayClient } from './iClient';
import { LiteEvent } from '../lightEvent';
import { IChaosOverlayVoteOption } from './iVoteOption';
-import { IChaosOverlayClientMessage } from './iMessage';
+import { IChaosOverlayBaseClientMessage, IChaosOverlayVotingClientMessage, IChaosOverlayColorClientMessage } from './iMessage';
import { TChaosOverlayClientEvent } from './tEvent';
+import { SetBarProgressColor } from '../style';
export class ChaosOverlayClient implements IChaosOverlayClient {
/**
@@ -13,12 +14,12 @@ export class ChaosOverlayClient implements IChaosOverlayClient {
private URL: string;
private WS: WebSocket | null = null;
- private createEvent = new LiteEvent();
+ private createEvent = new LiteEvent();
private connectEvent = new LiteEvent();
private disconnectEvent = new LiteEvent();
- private endEvent = new LiteEvent();
- private noVoteRoundEvent = new LiteEvent();
- private updateEvent = new LiteEvent();
+ private endEvent = new LiteEvent();
+ private noVoteRoundEvent = new LiteEvent();
+ private updateEvent = new LiteEvent();
public constructor(URL: string) {
this.URL = URL;
@@ -108,23 +109,39 @@ export class ChaosOverlayClient implements IChaosOverlayClient {
*/
private onSocketMessage(message: MessageEvent): void {
try {
- const MESSAGE: IChaosOverlayClientMessage = JSON.parse(message.data);
+ const BASE_MESSAGE: IChaosOverlayBaseClientMessage = JSON.parse(message.data);
- switch (MESSAGE.request) {
- case 'CREATE':
- this.createEvent.dispatch(MESSAGE);
- break;
- case 'END':
- this.endEvent.dispatch(MESSAGE);
- break;
- case 'NO_VOTING_ROUND':
- this.noVoteRoundEvent.dispatch(MESSAGE);
- break;
- case 'UPDATE':
- this.updateEvent.dispatch(MESSAGE);
- break;
+ switch (BASE_MESSAGE.type) {
+ case 'SET_VOTES': {
+ const MESSAGE: IChaosOverlayVotingClientMessage = JSON.parse(BASE_MESSAGE.messageData);
+ switch (MESSAGE.request) {
+ case 'CREATE':
+ this.createEvent.dispatch(MESSAGE);
+ break;
+ case 'END':
+ this.endEvent.dispatch(MESSAGE);
+ break;
+ case 'NO_VOTING_ROUND':
+ this.noVoteRoundEvent.dispatch(MESSAGE);
+ break;
+ case 'UPDATE':
+ this.updateEvent.dispatch(MESSAGE);
+ break;
+ default:
+ console.warn(`unknown voting message request type: ${MESSAGE.request}`);
+ }
+
+ break;
+ }
+ case 'SET_COLOR': {
+ const MESSAGE : IChaosOverlayColorClientMessage = JSON.parse(BASE_MESSAGE.messageData);
+ SetBarProgressColor(MESSAGE.colorR, MESSAGE.colorG, MESSAGE.colorB);
+
+ break;
+ }
default:
- console.warn(`unknown request type: ${MESSAGE.request}`);
+ console.warn(`unknown message type: ${BASE_MESSAGE.type}`);
+ break;
}
} catch (e) {
console.error(`failed to parse json data: ${e}`);
diff --git a/twitchVotingOverlay/src/chaosOverlayClient/iMessage.ts b/twitchVotingOverlay/src/chaosOverlayClient/iMessage.ts
index 9284d704f..c4303006e 100644
--- a/twitchVotingOverlay/src/chaosOverlayClient/iMessage.ts
+++ b/twitchVotingOverlay/src/chaosOverlayClient/iMessage.ts
@@ -1,6 +1,18 @@
import { IChaosOverlayVoteOption } from './iVoteOption';
-export interface IChaosOverlayClientMessage {
+export interface IChaosOverlayBaseClientMessage
+{
+ type : 'SET_VOTES' | 'SET_COLOR';
+ messageData : string;
+}
+
+export interface IChaosOverlayColorClientMessage {
+ colorR : number;
+ colorG : number;
+ colorB : number;
+}
+
+export interface IChaosOverlayVotingClientMessage {
retainInitialVotes: boolean;
request: 'CREATE' | 'END' | 'NO_VOTING_ROUND' | 'UPDATE';
totalVotes: number;
diff --git a/twitchVotingOverlay/src/chaosOverlayClient/index.ts b/twitchVotingOverlay/src/chaosOverlayClient/index.ts
index 973eb2f3d..0984753a1 100644
--- a/twitchVotingOverlay/src/chaosOverlayClient/index.ts
+++ b/twitchVotingOverlay/src/chaosOverlayClient/index.ts
@@ -1,5 +1,5 @@
export { ChaosOverlayClient } from './client';
export { IChaosOverlayClient } from './iClient';
-export { IChaosOverlayClientMessage } from './iMessage';
+export { IChaosOverlayVotingClientMessage } from './iMessage';
export { IChaosOverlayVoteOption } from './iVoteOption';
export { TChaosOverlayClientEvent } from './tEvent';
diff --git a/twitchVotingOverlay/src/chaosOverlayClient/tEvent.ts b/twitchVotingOverlay/src/chaosOverlayClient/tEvent.ts
index 6e01a144b..8f933504b 100644
--- a/twitchVotingOverlay/src/chaosOverlayClient/tEvent.ts
+++ b/twitchVotingOverlay/src/chaosOverlayClient/tEvent.ts
@@ -1,3 +1,3 @@
-import { IChaosOverlayClientMessage } from './iMessage';
+import { IChaosOverlayVotingClientMessage } from './iMessage';
-export type TChaosOverlayClientEvent = (event: IChaosOverlayClientMessage) => void;
+export type TChaosOverlayClientEvent = (event: IChaosOverlayVotingClientMessage) => void;
diff --git a/twitchVotingOverlay/src/style.ts b/twitchVotingOverlay/src/style.ts
new file mode 100644
index 000000000..4b4c36941
--- /dev/null
+++ b/twitchVotingOverlay/src/style.ts
@@ -0,0 +1,11 @@
+/*
+ These are just color utility functions only used by this script
+*/
+function componentToHex(c : number) {
+ var hex = c.toString(16);
+ return hex.length == 1 ? "0" + hex : hex;
+}
+
+export function SetBarProgressColor(r : number, g : number, b : number) {
+ document.body.style.setProperty("--bar-progression", "#" + componentToHex(r) + componentToHex(g) + componentToHex(b));
+}
\ No newline at end of file
From 5545684bf94b168e56f1620846b21b98a6e5158b Mon Sep 17 00:00:00 2001
From: OnlyRealNubs <91900600+OnlyRealNubs@users.noreply.github.com>
Date: Thu, 30 Mar 2023 18:40:14 -0400
Subject: [PATCH 4/6] Fix compile & remove comment
---
TwitchChatVotingProxy/OverlayServer/OverlayServer.cs | 9 +++++----
.../OverlayServer/OverlayServerConfig.cs | 4 ++--
TwitchChatVotingProxy/TwitchChatVotingProxy.cs | 1 -
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs b/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs
index 6ec9ade9a..9158d6c6a 100644
--- a/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs
+++ b/TwitchChatVotingProxy/OverlayServer/OverlayServer.cs
@@ -3,6 +3,7 @@
using Serilog;
using System;
using System.Collections.Generic;
+using System.Windows.Media;
// TODO: fix voting mode
namespace TwitchChatVotingProxy.OverlayServer
@@ -37,12 +38,12 @@ public OverlayServer(OverlayServerConfig config)
public void SendSetBarColorMessage()
{
- if (config.OverlayVotingBarColor != null)
+ if (config.OverlayVotingBarColor.HasValue)
{
var clrMsg = new OverlayColorMessage();
- clrMsg.colorR = config.OverlayVotingBarColor.R;
- clrMsg.colorG = config.OverlayVotingBarColor.G;
- clrMsg.colorB = config.OverlayVotingBarColor.B;
+ clrMsg.colorR = ((Color)config.OverlayVotingBarColor).R;
+ clrMsg.colorG = ((Color)config.OverlayVotingBarColor).G;
+ clrMsg.colorB = ((Color)config.OverlayVotingBarColor).B;
Broadcast(eMessageType.SET_COLOR, JsonConvert.SerializeObject(clrMsg));
}
diff --git a/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs b/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs
index 4f2baea7b..61d0d040b 100644
--- a/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs
+++ b/TwitchChatVotingProxy/OverlayServer/OverlayServerConfig.cs
@@ -10,9 +10,9 @@ class OverlayServerConfig
public bool RetainInitialVotes { get; set; }
public EVotingMode VotingMode { get; set; }
public int Port { get; set; }
- public Color OverlayVotingBarColor { get; set; }
+ public Color? OverlayVotingBarColor { get; set; }
- public OverlayServerConfig(EVotingMode votingMode, bool retainInitialVotes, int? port, Color overlayVotingBarColor)
+ public OverlayServerConfig(EVotingMode votingMode, bool retainInitialVotes, int? port, Color? overlayVotingBarColor)
{
RetainInitialVotes = retainInitialVotes;
VotingMode = votingMode;
diff --git a/TwitchChatVotingProxy/TwitchChatVotingProxy.cs b/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
index c894f2361..0ec2bdfad 100644
--- a/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
+++ b/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
@@ -67,7 +67,6 @@ private static void Main(string[] args)
if (config.OverlayMode == EOverlayMode.OVERLAY_OBS)
{
// Create overlay server config
- //OverlayServerConfig overlayServerConfig = new OverlayServerConfig(votingMode, config.RetainInitalVotes, config.OverlayServerPort);
OverlayServerConfig overlayServerConfig = new OverlayServerConfig(votingMode, config.RetainInitalVotes, config.OverlayServerPort, config.OverlayVotingBarColor);
// Create component
From a1cfd11c2c6c08ae7ddde45c71190fa270a55f27 Mon Sep 17 00:00:00 2001
From: OnlyRealNubs <91900600+OnlyRealNubs@users.noreply.github.com>
Date: Sat, 1 Apr 2023 12:13:00 -0400
Subject: [PATCH 5/6] Update TwitchChatVotingProxy/TwitchChatVotingProxy.cs
Co-authored-by: pongo1231
---
TwitchChatVotingProxy/TwitchChatVotingProxy.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TwitchChatVotingProxy/TwitchChatVotingProxy.cs b/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
index 0ec2bdfad..0f6282c07 100644
--- a/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
+++ b/TwitchChatVotingProxy/TwitchChatVotingProxy.cs
@@ -84,7 +84,7 @@ private static void Main(string[] args)
if (chaosPipe.IsConnected())
{
- logger.Information("succesfully setup twitch chat voting proxy");
+ logger.Information("successfully set up twitch chat voting proxy");
while (chaosPipe.IsConnected())
{
From 3ed520c43a6b02e78e0bfc4d83cd554e966784b8 Mon Sep 17 00:00:00 2001
From: OnlyRealNubs <91900600+OnlyRealNubs@users.noreply.github.com>
Date: Sat, 1 Apr 2023 12:13:55 -0400
Subject: [PATCH 6/6] Update Config.cs
---
TwitchChatVotingProxy/Config/Config.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TwitchChatVotingProxy/Config/Config.cs b/TwitchChatVotingProxy/Config/Config.cs
index 8a0aaa270..2b6de020b 100644
--- a/TwitchChatVotingProxy/Config/Config.cs
+++ b/TwitchChatVotingProxy/Config/Config.cs
@@ -72,7 +72,7 @@ public Config(string file)
PermittedTwitchUsernames = new string[0];
}
- logger.Information("auccesfully read twitch voting config");
+ logger.Information("succesfully read twitch voting config");
}
}
}