code: def switch(self, new_ctx_message: Message_T) -> None:
          
          if self.is_first_run:
              # if calling this method during first run,
              # we think the command is not handled
              raise _FinishException(result=False)
  
          if not isinstance(new_ctx_message, Message):
              new_ctx_message = Message(new_ctx_message)
          raise SwitchException(new_ctx_message)
docs: Finish the session and switch to a new (fake) message context.
  
          The user may send another command (or another intention as natural
          language) when interacting with the current session. In this case,
          the session may not understand what the user is saying, so it
          should call this method and pass in that message, then NoneBot will
          handle the situation properly.