Class Bot

Direct Known Subclasses:
BotLibre

public abstract class Bot extends User
A Bot is a Client that has no session. It does have own scene, and observes all events in the scene. It also responds to something that user(s) write.
Author:
joe
  • Constructor Details

    • Bot

      public Bot()
  • Method Details

    • getParameter

      public String getParameter(String key)
      Returns a parameter from parameter map
    • selfTest

      public abstract void selfTest() throws Exception
      Self test runs on server startup. Exceptions are logged but otherwise ignored.
      Throws:
      Exception
    • getResponseAsync

      public abstract reactor.core.publisher.Mono<String> getResponseAsync(Client c, String query)
    • respondTo

      public void respondTo(Client c, String what)
      Get response to something that a client "said", and write it
    • write

      public void write(String what)
      Utility method - "say" something.
    • processEvent

      public void processEvent(VREvent event)
      Process an event. If that's something that a user wrote, calls respondTo method. Other events are ignored.
      Overrides:
      processEvent in class Client
      Parameters:
      event - Whatever has changed
    • objectsAdded

      public void objectsAdded(List<VRObject> objects)
      New objects in the scene, typically a client that has arrived. This implementation does nothing, utility method for subclasses.
    • objectsRemoved

      public void objectsRemoved(List<Map<String,Long>> objects)
      Objects removed from the scene, typically a client that has left. This implementation does nothing, utility method for subclasses.
      Parameters:
      objects -
    • sendMessage

      public void sendMessage(Object o)
      Scene management method, called when the scene changes.
      Overrides:
      sendMessage in class Client
    • toString

      public String toString()
      Overrides:
      toString in class Object