diff --git a/Makefile b/Makefile index ac85a0a..3cb0c42 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ include $(GOROOT)/src/Make.inc TARG=rbot -GOFILES=rbot.go handler.go auth.go cmd-access.go cmd-op.go cmd-google.go +GOFILES=rbot.go handler.go auth.go cmd-access.go cmd-admin.go cmd-op.go cmd-google.go include $(GOROOT)/src/Make.cmd diff --git a/README.md b/README.md index 057b562..a94f5c3 100644 --- a/README.md +++ b/README.md @@ -44,10 +44,13 @@ Access related commands: - `add raylu t`: gives raylu the t flag - `remove raylu t`: removes the t flag from raylu - `remove raylu`: removes all of raylu's flags -- `say text`: says text to the channel - `list`: lists all users and their access - `list raylu`: searches the access list for raylu +Admin commands: +- `nick john`: changes the bot's nick to john +- `say text`: says text to the channel + Op commands: - `halfop|hop`: halfop yourself diff --git a/cmd-access.go b/cmd-access.go index b1771aa..5c542fd 100644 --- a/cmd-access.go +++ b/cmd-access.go @@ -103,10 +103,3 @@ func accesslist(conn *irc.Conn, nick *irc.Nick, args, target string) { } } } - -func csay(conn *irc.Conn, nick *irc.Nick, args, target string) { - channel, args := parseAccess(conn, nick, target, args, "s") - if channel != "" { - say(conn, channel, args) - } -} diff --git a/cmd-admin.go b/cmd-admin.go new file mode 100644 index 0000000..9e1c882 --- /dev/null +++ b/cmd-admin.go @@ -0,0 +1,22 @@ +package main + +import ( + "irc" +) + +func nick(conn *irc.Conn, nick *irc.Nick, args, target string) { + if len(args) == 0 { + return + } + owner, _ := auth.String(conn.Network, "owner"); + if owner == user(nick) { + conn.Nick(args) + } +} + +func csay(conn *irc.Conn, nick *irc.Nick, args, target string) { + channel, args := parseAccess(conn, nick, target, args, "s") + if len(channel) > 0 { + say(conn, channel, args) + } +} diff --git a/handler.go b/handler.go index 8663888..5445a14 100644 --- a/handler.go +++ b/handler.go @@ -15,6 +15,9 @@ var commands = map [string]func(*irc.Conn, *irc.Nick, string, string) { "add": add, "remove": remove, "list": accesslist, + + // admin + "nick": nick, "say": csay, // op