From b7c9fb56c27623aa86e30a4fad4826cc1b967da6 Mon Sep 17 00:00:00 2001 From: Alex Jaspersen Date: Mon, 25 May 2020 14:47:09 +0000 Subject: [PATCH] Ignore non-privmsg commands to services. This avoids "No such nick" responses to +draft/typing TAGMSG, etc. --- irc/handlers.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/irc/handlers.go b/irc/handlers.go index ed723ce9..c789efea 100644 --- a/irc/handlers.go +++ b/irc/handlers.go @@ -1906,18 +1906,25 @@ func dispatchMessageToTarget(client *Client, tags map[string]string, histType hi } channel.SendSplitMessage(command, lowestPrefix, tags, client, message, rb) } else { - // NOTICE and TAGMSG to services are ignored + lowercaseTarget := strings.ToLower(target) + service, isService := OragonoServices[lowercaseTarget] + _, isZNC := zncHandlers[lowercaseTarget] + if histType == history.Privmsg { - lowercaseTarget := strings.ToLower(target) - if service, isService := OragonoServices[lowercaseTarget]; isService { + if isService { servicePrivmsgHandler(service, server, client, message.Message, rb) return - } else if _, isZNC := zncHandlers[lowercaseTarget]; isZNC { + } else if isZNC { zncPrivmsgHandler(client, lowercaseTarget, message.Message, rb) return } } + // NOTICE and TAGMSG to services are ignored + if isService || isZNC { + return + } + user := server.clients.Get(target) if user == nil { if histType != history.Notice {