diff --git a/Oxide.Ext.Discord/Data/Ip/DiscordIpData.cs b/Oxide.Ext.Discord/Data/Ip/DiscordIpData.cs
index 3afaf7fe..0e16ab5c 100644
--- a/Oxide.Ext.Discord/Data/Ip/DiscordIpData.cs
+++ b/Oxide.Ext.Discord/Data/Ip/DiscordIpData.cs
@@ -19,8 +19,8 @@ public void AddData(string ip, IpResult result)
OnDataChanged();
}
- public string GetCountryName(string ip) => _ips.TryGetValue(ip, out IpData data) ? data.CountryName : "Unknown";
- public string GetCountryCode(string ip) => _ips.TryGetValue(ip, out IpData data) ? data.CountryCode : string.Empty;
+ public string GetCountryName(string ip) => !string.IsNullOrEmpty(ip) && _ips.TryGetValue(ip, out IpData data) ? data.CountryName : "Unknown";
+ public string GetCountryCode(string ip) => !string.IsNullOrEmpty(ip) && _ips.TryGetValue(ip, out IpData data) ? data.CountryCode : string.Empty;
internal override void OnDataLoaded(DataFileInfo info)
{
diff --git a/Oxide.Ext.Discord/WebSockets/DiscordWebSocket.cs b/Oxide.Ext.Discord/WebSockets/DiscordWebSocket.cs
index d3b3106d..543f722a 100644
--- a/Oxide.Ext.Discord/WebSockets/DiscordWebSocket.cs
+++ b/Oxide.Ext.Discord/WebSockets/DiscordWebSocket.cs
@@ -65,8 +65,8 @@ public class DiscordWebSocket : IDebugLoggable
/// Logger for the bot client
public DiscordWebSocket(BotClient client, ILogger logger)
{
- _client = client;
- _logger = logger;
+ _client = client ?? throw new ArgumentNullException(nameof(client));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
_reconnect = new WebSocketReconnectHandler(client, this, logger);
_commands = new WebSocketCommandHandler(client, this, logger);
diff --git a/Oxide.Ext.Discord/WebSockets/Handlers/DiscordHeartbeatHandler.cs b/Oxide.Ext.Discord/WebSockets/Handlers/DiscordHeartbeatHandler.cs
index 1ef269ef..dc273e98 100644
--- a/Oxide.Ext.Discord/WebSockets/Handlers/DiscordHeartbeatHandler.cs
+++ b/Oxide.Ext.Discord/WebSockets/Handlers/DiscordHeartbeatHandler.cs
@@ -1,9 +1,10 @@
+using System;
using System.Timers;
-using Oxide.Core;
using Oxide.Ext.Discord.Clients;
using Oxide.Ext.Discord.Constants;
using Oxide.Ext.Discord.Interfaces;
using Oxide.Ext.Discord.Logging;
+using Random = Oxide.Core.Random;
namespace Oxide.Ext.Discord.WebSockets
{
@@ -32,9 +33,9 @@ public class DiscordHeartbeatHandler
/// Logger for the bot
public DiscordHeartbeatHandler(BotClient client, DiscordWebSocket socket, ILogger logger)
{
- _client = client;
- _socket = socket;
- _logger = logger;
+ _client = client ?? throw new ArgumentNullException(nameof(client));
+ _socket = socket ?? throw new ArgumentNullException(nameof(socket));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
_timer = new Timer();
_timer.Elapsed += HeartbeatElapsed;
}
@@ -53,7 +54,7 @@ internal void SetupHeartbeat(float interval)
_timer.Interval = _interval * Random.Range(0f, 1f);
_timer.Start();
_logger.Debug($"{nameof(DiscordHeartbeatHandler)}.{nameof(SetupHeartbeat)} Creating heartbeat with interval {{0}}ms.", interval);
- _client.Hooks.CallHook(DiscordExtHooks.OnDiscordSetupHeartbeat, interval);
+ _client.Hooks?.CallHook(DiscordExtHooks.OnDiscordSetupHeartbeat, interval);
}
internal void OnHeartbeatAcknowledge()
diff --git a/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketCommandHandler.cs b/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketCommandHandler.cs
index 92f9e75b..0f9c1c54 100644
--- a/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketCommandHandler.cs
+++ b/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketCommandHandler.cs
@@ -37,9 +37,9 @@ public class WebSocketCommandHandler
/// Logger for this handler
public WebSocketCommandHandler(BotClient client, DiscordWebSocket webSocket, ILogger logger)
{
- _client = client;
- _webSocket = webSocket;
- _logger = logger;
+ _client = client ?? throw new ArgumentNullException(nameof(client));
+ _webSocket = webSocket ?? throw new ArgumentNullException(nameof(webSocket));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
_rateLimit = new WebsocketRateLimit(_logger);
_source = new CancellationTokenSource();
diff --git a/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketHandler.cs b/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketHandler.cs
index d24e4205..40272c30 100644
--- a/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketHandler.cs
+++ b/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketHandler.cs
@@ -44,9 +44,9 @@ internal class WebSocketHandler
///
public WebSocketHandler(IWebSocketEventHandler handler, BotClient botClient, ILogger logger)
{
- _handler = handler;
- _botClient = botClient;
- _logger = logger;
+ _handler = handler ?? throw new ArgumentNullException(nameof(handler));
+ _botClient = botClient ?? throw new ArgumentNullException(nameof(botClient));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
_receiveBuffer = new byte[Math.Max(ReceiveChunkSize, SendChunkSize)];
_sendBuffer = new byte[SendChunkSize];
}
diff --git a/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketReconnectHandler.cs b/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketReconnectHandler.cs
index d4af0853..f5019749 100644
--- a/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketReconnectHandler.cs
+++ b/Oxide.Ext.Discord/WebSockets/Handlers/WebSocketReconnectHandler.cs
@@ -30,9 +30,9 @@ internal class WebSocketReconnectHandler
///
public WebSocketReconnectHandler(BotClient client, DiscordWebSocket webSocket, ILogger logger)
{
- _client = client;
- WebSocket = webSocket;
- _logger = logger;
+ _client = client ?? throw new ArgumentNullException(nameof(client));
+ WebSocket = webSocket ?? throw new ArgumentNullException(nameof(webSocket));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
///
diff --git a/Oxide.Ext.Discord/WebSockets/Handlers/WebsocketEventHandler.cs b/Oxide.Ext.Discord/WebSockets/Handlers/WebsocketEventHandler.cs
index ef4b3777..83dd6c58 100644
--- a/Oxide.Ext.Discord/WebSockets/Handlers/WebsocketEventHandler.cs
+++ b/Oxide.Ext.Discord/WebSockets/Handlers/WebsocketEventHandler.cs
@@ -34,9 +34,9 @@ public class WebSocketEventHandler : IWebSocketEventHandler
/// Logger for the client
public WebSocketEventHandler(BotClient client, DiscordWebSocket socket, ILogger logger)
{
- _client = client;
- _webSocket = socket;
- _logger = logger;
+ _client = client ?? throw new ArgumentNullException(nameof(client));
+ _webSocket = socket ?? throw new ArgumentNullException(nameof(socket));
+ _logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
#region Socket Events