diff --git a/irc/message.go b/irc/message.go index 1b9b231f..3a309086 100644 --- a/irc/message.go +++ b/irc/message.go @@ -12,7 +12,10 @@ type Message struct { } func (m *Message) LastParam() string { - return m.Params[len(m.Params)-1] + if len(m.Params) > 0 { + return m.Params[len(m.Params)-1] + } + return "" } func parseMessage(line string) *Message { diff --git a/irc/message_test.go b/irc/message_test.go index 67390bd9..da0a74b8 100644 --- a/irc/message_test.go +++ b/irc/message_test.go @@ -74,6 +74,7 @@ func TestParseMessage(t *testing.T) { func TestLastParam(t *testing.T) { assert.Equal(t, "some message", parseMessage(":user CMD #chan :some message\r\n").LastParam()) + assert.Equal(t, "", parseMessage("NO_PARAMS").LastParam()) } func TestBadMessagePanic(t *testing.T) {