diff options
Diffstat (limited to 'client/command.go')
| -rw-r--r-- | client/command.go | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/client/command.go b/client/command.go index cb6ad10..59b3a8a 100644 --- a/client/command.go +++ b/client/command.go @@ -105,6 +105,11 @@ func (a *application) doCommand(command string, args []string, text string) { a.setNick(text) return case "join": + cl := a.channelList.findName(text) + if cl.id != "" { + a.goTo(cl) + break + } if a.authenticated { a.join(text) } @@ -121,13 +126,12 @@ func (a *application) doCommand(command string, args []string, text string) { leave(a.currentWindow) a.currentWindow = cmdWindowLocation {} } else { - a.lookup(text, "channel", func(ch *proto.Object, err *proto.Fail) { - if err != nil { - a.cmdWindow.fail(proto.Object(*err)) - } else if ch.Id != "" { - leave(channelLocation {id: ch.Id}) - } - }) + cl := a.channelList.findName(text) + if cl.id == "" { + a.cmdWindow.err("you are not in that channel") + } else { + leave(cl) + } } return case "rename": |
