From b0fd9a1c7848343ef378b772eb76a0e99747260c Mon Sep 17 00:00:00 2001 From: citrons Date: Wed, 4 Jun 2025 12:12:13 -0500 Subject: channel list --- server/object/object.go | 1 + server/server/command.go | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'server') diff --git a/server/object/object.go b/server/object/object.go index d18507c..bae274a 100644 --- a/server/object/object.go +++ b/server/object/object.go @@ -7,6 +7,7 @@ import ( type Object interface { SendRequest(session.Request) + GetInfo() proto.Object } type World struct { diff --git a/server/server/command.go b/server/server/command.go index 603b033..306a445 100644 --- a/server/server/command.go +++ b/server/server/command.go @@ -111,6 +111,22 @@ func (s *server) SendRequest(r session.Request) { r.ReplyInvalid() } + case "channels": + if r.From.UserId == "" { + r.Reply(proto.NewCmd("channels", "", )) + return + } + if len(r.Cmd.Args) != 0 { + r.ReplyInvalid() + return + } + u := s.world.GetObject(r.From.UserId).(*user.User) + var channels []proto.Object + for c := range u.Channels { + channels = append(channels, s.world.GetObject(c).GetInfo()) + } + r.Reply(proto.NewCmd("channels", "", channels...)) + case "meow": r.Reply(proto.NewCmd("meow", "")) @@ -119,4 +135,6 @@ func (s *server) SendRequest(r session.Request) { } } - +func (s *server) GetInfo() proto.Object { + return proto.Object {} +} -- cgit v1.2.3