diff options
| author | citrons <citrons@mondecitronne.com> | 2025-06-04 12:12:13 -0500 |
|---|---|---|
| committer | citrons <citrons@mondecitronne.com> | 2025-06-07 16:02:18 -0500 |
| commit | b0fd9a1c7848343ef378b772eb76a0e99747260c (patch) | |
| tree | 05093ccc0bda8ba4f1286b738ab67a6b1bccfd61 /server | |
| parent | 035344054768562bee7db12e02e3bec1c8409210 (diff) | |
channel list
Diffstat (limited to 'server')
| -rw-r--r-- | server/object/object.go | 1 | ||||
| -rw-r--r-- | server/server/command.go | 20 |
2 files changed, 20 insertions, 1 deletions
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 {} +} |
