Skip to content

Commit 06fb840

Browse files
authored
Bug/68 configuration support server websocket port (#72)
* Add `host` and `port` configs to env * Configure overlay and socket servers to use config values
1 parent 171104a commit 06fb840

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

bot/overlay/overlay.server.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { inject, injectable } from 'inversify';
44
import path from 'path';
55
import winston from 'winston';
66
import InjectionTypes from '../../dependency-management/types';
7+
import environment from '../../configurations/environment';
78

89
export interface IOverlayServer {
910
configure(): IOverlayServer;
@@ -13,13 +14,17 @@ export interface IOverlayServer {
1314
@injectable()
1415
export default class OverlayServer {
1516
private server: Server;
16-
private host = '0.0.0.0';
17-
private port = 8070;
17+
/** Configured Web Host */
18+
private host: string;
19+
/** Configured Web Port */
20+
private port: number;
1821
private rootPath = `local-cache/audio/8ball`;
1922

2023
constructor(
2124
@inject(InjectionTypes.Logger) private logger: winston.Logger,
2225
) {
26+
this.host = environment.twitchBot.overlay.host;
27+
this.port = environment.twitchBot.overlay.port;
2328
}
2429

2530
configure(): IOverlayServer {

bot/overlay/socket.server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { inject, injectable } from 'inversify';
22
import { RawData, Server, WebSocket } from 'ws';
33
import winston from 'winston';
44
import InjectionTypes from '../../dependency-management/types';
5+
import environment from '../../configurations/environment';
56

67
/**
78
* Used to track connected Web Socket users
@@ -19,6 +20,8 @@ export interface ISocketServer {
1920
export default class SocketServer implements ISocketServer {
2021
/** Instance of the Web Socket server */
2122
private server: Server;
23+
/** Configured Web Socket Host */
24+
private host: string;
2225
/** Configured Web Socket Port */
2326
private port: number;
2427
/** Connected Web Socket Users */
@@ -27,12 +30,14 @@ export default class SocketServer implements ISocketServer {
2730
constructor(
2831
@inject(InjectionTypes.Logger) private logger: winston.Logger,
2932
) {
30-
this.port = 8080;
33+
this.host = environment.twitchBot.websocket.host;
34+
this.port = environment.twitchBot.websocket.port;
3135
}
3236

3337
/** Initializes and starts the server */
3438
startServer(): void {
3539
this.server = new Server({
40+
host: this.host,
3641
port: this.port,
3742
}, () => {
3843
this.logger.info(`** Web Socket Server listening on ${this.port}`);

configurations/environment.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ const environment = {
2424
/** Twitch user id / broadcasterId */
2525
id: process.env.TWITCH_BROADCASTER_ID,
2626
},
27+
/** OBS Overlay Web server */
28+
overlay: {
29+
host: process.env.TWITCH_OVERLAY_HOST,
30+
port: Number(process.env.TWITCH_OVERLAY_PORT),
31+
},
32+
/** Web Socket server */
33+
websocket: {
34+
host: process.env.TWITCH_WEBSOCKET_HOST,
35+
port: Number(process.env.TWITCH_WEBSOCKET_PORT),
36+
},
2737
/** User Name - TimyTheTermite */
2838
username: process.env.TWITCH_BOT_USERNAME,
2939
/** Channel(s) to join - TimyTheTermite */

0 commit comments

Comments
 (0)