From 72a60aa55fb45cfef380c205a95414c5d45d8529 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Thu, 29 Aug 2013 21:12:17 +0100 Subject: [PATCH] IRC operators can use /MODE to do anything they like --- server.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/server.go b/server.go index c437349..75f9393 100644 --- a/server.go +++ b/server.go @@ -396,9 +396,13 @@ func (s *Server) handleEvent(e Event) { } if cm, ok := channel.modeMap[strings.ToLower(e.client.nick)]; !ok || !cm.operator { - //Not an operator - e.client.reply(errNoPriv) - return + //Not a channel operator. + + //If they're not an irc operator either, they'll fail + if !e.client.operator { + e.client.reply(errNoPriv) + return + } } hasClient := false