summaryrefslogtreecommitdiff
path: root/client/command.go
diff options
context:
space:
mode:
authorraven <citrons@mondecitronne.com>2025-10-22 19:38:13 -0500
committerraven <citrons@mondecitronne.com>2026-02-09 13:14:04 -0600
commit14fe0a31fb1fb1e9ab04dec1c18695a48ad57572 (patch)
tree68a226a6c690cae542a6cd3963ee2004800d42fc /client/command.go
parent71722ee7c2f833f6244410f6ddad688a2b5c20c3 (diff)
check channel list for /join and /leave
Diffstat (limited to 'client/command.go')
-rw-r--r--client/command.go18
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":