diff options
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 {} +} |
