| 
    
       alias sessMan.save {
 
     | 
  
  
     | 
    
         var %net = $network
 
     | 
  
  
     | 
    
         var %i = 1
 
     | 
  
  
     | 
    
         var %chanlist = $null
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         if ($1 == $null) {
 
     | 
  
  
     | 
    
           %sessionName = $?"Session Name. (If blank, will use 'default')"
 
     | 
  
  
     | 
    
         } else {
 
     | 
  
  
     | 
    
           %sessionName = $1
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         if (%sessionName != $null) {
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
         } else {
 
     | 
  
  
     | 
    
           %sessionName = default
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         while (%i <= $chan(0)) {
 
     | 
  
  
     | 
    
           if (%chanlist == $null) {
 
     | 
  
  
     | 
    
             var %chanlist = $chan(%i)
 
     | 
  
  
     | 
    
           } else {
 
     | 
  
  
     | 
    
             var %chanlist = %chanlist $+ , $+ $chan(%i)
 
     | 
  
  
     | 
    
           }
 
     | 
  
  
     | 
    
           inc %i
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
         writeini sessMan-sessions.ini %net %sessionName %chanlist
 
     | 
  
  
     | 
    
         ;echo -ag Saved %chanlist
 
     | 
  
  
     | 
    
         ;echo -ag   to session: %session
 
     | 
  
  
     | 
    
         ;echo -ag   for network: %net
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       alias sessMan.load {
 
     | 
  
  
     | 
    
         if ($1 == $null) {
 
     | 
  
  
     | 
    
           %sessionName = default
 
     | 
  
  
     | 
    
         } else {
 
     | 
  
  
     | 
    
             %sessionName = $1
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         %joinstring = $readini(sessMan-sessions.ini,$network,%sessionName)
 
     | 
  
  
     | 
    
         if (%joinString == $null) {
 
     | 
  
  
     | 
    
           echo -ag Session Does Not Exist
 
     | 
  
  
     | 
    
           return
 
     | 
  
  
     | 
    
         } else {
 
     | 
  
  
     | 
    
           if ( $readini(sessMan-options.ini,config,autoPart) == true ) {
 
     | 
  
  
     | 
    
             sessman.partAll
 
     | 
  
  
     | 
    
           }
 
     | 
  
  
     | 
    
           join %joinstring
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       alias sessMan.partAll {
 
     | 
  
  
     | 
    
         %i = 1
 
     | 
  
  
     | 
    
         while (%i <= $chan(0)) {
 
     | 
  
  
     | 
    
           part $chan(%i)
 
     | 
  
  
     | 
    
           inc %i
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       menu channel,status {
 
     | 
  
  
     | 
    
         Session Manager
 
     | 
  
  
     | 
    
           .Save:/sessMan.save
 
     | 
  
  
     | 
    
           .Load
 
     | 
  
  
     | 
    
           ..$submenu($sessMan.menuSess($1))
 
     | 
  
  
     | 
    
           .-
 
     | 
  
  
     | 
    
           .Options
 
     | 
  
  
     | 
    
           ..AutoPart
 
     | 
  
  
     | 
    
           ...$submenu($sessMan.menuOpt($1,autoPart))
 
     | 
  
  
     | 
    
           ...Enable:writeini sessMan-options.ini config autoPart true
 
     | 
  
  
     | 
    
           ...Disable:writeini sessMan-options.ini config autoPart false
 
     | 
  
  
     | 
    
           ..Delete Session
 
     | 
  
  
     | 
    
           ...$submenu($sessMan.menuOpt($1,deleteSession))
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       alias sessMan.menuOpt {
 
     | 
  
  
     | 
    
         if ($2 == autoPart ) {
 
     | 
  
  
     | 
    
           if ( $1 == 1 ) {
 
     | 
  
  
     | 
    
             if ( $readini(sessMan-options.ini,config,autoPart) == true ) {
 
     | 
  
  
     | 
    
               return Currently Enabled:echo -ag Auto Part Is Currently Enabled
 
     | 
  
  
     | 
    
             } else {
 
     | 
  
  
     | 
    
               return Currently Disabled:echo -ag Auto Part Is Currently Disabled
 
     | 
  
  
     | 
    
             }
 
     | 
  
  
     | 
    
           }
 
     | 
  
  
     | 
    
           if ( $1 == end ) {
 
     | 
  
  
     | 
    
             return -
 
     | 
  
  
     | 
    
           }
 
     | 
  
  
     | 
    
           return
 
     | 
  
  
     | 
    
         } elseif ( $2 == deleteSession ) {
 
     | 
  
  
     | 
    
           if ( $1 == $null ) {
 
     | 
  
  
     | 
    
             %pos = 1
 
     | 
  
  
     | 
    
           } else {
 
     | 
  
  
     | 
    
             %pos = $1
 
     | 
  
  
     | 
    
           }
 
     | 
  
  
     | 
    
           
 
     | 
  
  
     | 
    
           %sess = $ini(sessMan-sessions.ini,$network,%pos)
 
     | 
  
  
     | 
    
            if ( %sess == $null ) {
 
     | 
  
  
     | 
    
              return
 
     | 
  
  
     | 
    
            } else {
 
     | 
  
  
     | 
    
              return Delete %sess $+ :remini sessMan-sessions.ini $network %sess
 
     | 
  
  
     | 
    
            }
 
     | 
  
  
     | 
    
         } else {
 
     | 
  
  
     | 
    
           return
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
       }
 
     | 
  
  
     | 
    
       
     | 
  
  
     | 
    
       alias sessMan.menuSess {
 
     | 
  
  
     | 
    
         if ( $1 == $null ) {
 
     | 
  
  
     | 
    
           %pos = 1
 
     | 
  
  
     | 
    
         } else {
 
     | 
  
  
     | 
    
           %pos = $1
 
     | 
  
  
     | 
    
         }
 
     | 
  
  
     | 
    
         
 
     | 
  
  
     | 
    
         %sess = $ini(sessMan-sessions.ini,$network,%pos)
 
     | 
  
  
     | 
    
          if ( %sess == $null ) {
 
     | 
  
  
     | 
    
            return
 
     | 
  
  
     | 
    
          } else {
 
     | 
  
  
     | 
    
            ;My load alias handles if it needs to auto part currently joined channels
 
     | 
  
  
     | 
    
            ;return %sess $+ :join $readini(sessMan-sessions.ini,$network,%sess)
 
     | 
  
  
     | 
    
            return %sess $+ :sessMan.load %sess
 
     | 
  
  
     | 
    
          }
 
     | 
  
  
     | 
    
       }
 
     |