class_docstr: End-to-end negotiation teacher that loads the data from
  https://github.com/facebookresearch/end-to-end-negotiator.
class_docstr_tok: ["End-to-end","negotiation","teacher","that","loads","the","data","from","https",":","\/\/github.com\/facebookresearch\/end-to-end-negotiator","."]
code: def act(self):
      if self.dialogue_idx is not None:
          # continue existing conversation
          return self._continue_dialogue()
      elif self.random:
          # if random, then select the next random example
          self.episode_idx = random.randrange(len(self.episodes))
          return self._start_dialogue()
      elif self.episode_idx + self.step_size >= len(self.episodes):
          # end of examples
          self.epochDone = True
          return {"episode_done": True}
      else:
          # get next non-random example
          self.episode_idx = (self.episode_idx + self.step_size) % len(
              self.episodes
          )
          return self._start_dialogue()
  
imports: from parlai.core.teachers import Teacher
  from .build import build
  from parlai.utils.io import PathManager
  import os
  import random
label_desc: Use image node_id 8 for calling the NegotiationTeacher obj's underlying member method code with example usage: obj.act() and returns: self, self, dict, self