From 83fc245eec4f4f3f88a58bdfa81a05dcccdb8374 Mon Sep 17 00:00:00 2001 From: raylu Date: Sun, 10 Apr 2011 03:32:32 -0400 Subject: [PATCH] Add !ops command to highlight all ops --- cmd-op.go | 20 ++++++++++++++++++++ handler.go | 1 + 2 files changed, 21 insertions(+) diff --git a/cmd-op.go b/cmd-op.go index 5bedcfc..203ef8c 100644 --- a/cmd-op.go +++ b/cmd-op.go @@ -252,3 +252,23 @@ func part(conn *irc.Conn, nick *irc.Nick, args, target string) { conn.Part(channel, "") } } + +func highlightOps(conn *irc.Conn, nick *irc.Nick, args, target string) { + channel, args := parseAccess(conn, nick, target, args, "t") + if channel == "" { + return + } + c := conn.GetChannel(channel) + if c == nil { + say(conn, target, "Error while getting channel information for %s", channel) + return + } + + var highlights string + for onick, privs := range c.Nicks { + if privs.Op && onick.Nick != nick.Nick { + highlights += onick.Nick + ", " + } + } + say(conn, channel, highlights[:len(highlights)-2] + "!") +} diff --git a/handler.go b/handler.go index 9147f52..d538833 100644 --- a/handler.go +++ b/handler.go @@ -41,6 +41,7 @@ var commands = map [string]func(*irc.Conn, *irc.Nick, string, string) { "topic": topic, "appendtopic": appendtopic, "part": part, + "ops": highlightOps, // google "tr": translate,