From 4cd7ac1d799acac1b2866e9b064223ebcbb98c19 Mon Sep 17 00:00:00 2001 From: runebaas Date: Wed, 15 Jul 2020 17:10:50 +0200 Subject: [PATCH] Fix broken DM Channel support --- Geekbot.net/Handlers/CommandHandler.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Geekbot.net/Handlers/CommandHandler.cs b/Geekbot.net/Handlers/CommandHandler.cs index b811a8e..b6a3d9f 100644 --- a/Geekbot.net/Handlers/CommandHandler.cs +++ b/Geekbot.net/Handlers/CommandHandler.cs @@ -52,7 +52,12 @@ namespace Geekbot.net.Handlers if (!(messageParam is SocketUserMessage message)) return Task.CompletedTask; if (message.Author.IsBot) return Task.CompletedTask; - var guildId = ((SocketGuildChannel) message.Channel).Guild.Id; + ulong guildId = message.Author switch + { + SocketGuildUser user => user.Guild.Id, + _ => 0 // DM Channel + }; + if (IsIgnoredGuild(guildId, message.Author.Id)) return Task.CompletedTask; var lowCaseMsg = message.ToString().ToLower(); @@ -102,12 +107,14 @@ namespace Geekbot.net.Handlers private bool ShouldPong(string lowerCaseMessage, ulong guildId) { if (!lowerCaseMessage.StartsWith("ping ") && !lowerCaseMessage.Equals("ping")) return false; + if (guildId == 0) return true; return GetGuildSettings(guildId)?.Ping ?? false; } private bool ShouldHui(string lowerCaseMessage, ulong guildId) { if (!lowerCaseMessage.StartsWith("hui")) return false; + if (guildId == 0) return true; return GetGuildSettings(guildId)?.Hui ?? false; }