#8/1/97 Mass Join/Part v1.0 for Eggdrop1.0 by \-n0ble-\ and simple.
#
#Can and should be used with any version of GainOps and/or GainInvite.
#Default settings:
# 1. Only bot owners (+n) will have access to mass join/part.
# 2. Linked, sharings bots will also need to have +of flags.
# 3. Channel modes will be: +tn-psmilk.
# 4. CCS modes will be: -clearbans -enforcebans +dynamicbans +userbans -autoop +bitch -greet -protectops +statuslog +stopnethack +revenge +secret.
#
#Shout Outs and/or Thanks to: UnderNET's #TCL channnel, \Searcher (\-\iTman), [slugo], and guppy.

bind dcc n masspart proc_mpart
bind dcc n massjoin proc_mjoin
bind bot ofbs botjoin proc_bjoin
bind bot ofbs botpart proc_bpart

proc proc_mjoin {handle idx arg} {
 global joinchan
 set joinchan [lindex $arg 0]
 if {$joinchan == ""} { putdcc $idx "No channel specified" ; return 1 }
  channel add $joinchan {
   chanmode "+tn-psmilk"
   need-op { gain-ops $joinchan }
   need-invite { gain-invite $joinchan }
  }
  channel set $joinchan -clearbans -enforcebans +dynamicbans +userbans -autoop +bitch -greet -protectops +statuslog +stopnethack +revenge +secret
  putdcc $idx "*** MASS JOINING $joinchan ***"
  putallbots "botjoin $joinchan"
 return 1
}

proc proc_mpart {handle idx arg} {
 global joinchan
 set joinchan [lindex $arg 0]
 if {$joinchan == ""} { putdcc $idx "No channel specified" ; return 1 }
  channel remove $joinchan
  putdcc $idx "*** MASS PARTING $joinchan ***"
  putallbots "botpart $joinchan"
 return 1
}

proc proc_bjoin {bot command arg} {
 global joinchan
 set joinchan [lindex $arg 0]
  channel add $joinchan {
   chanmode "+tn-psmilk"
   need-op { gain-ops $joinchan }
   need-invite { gain-invite $joinchan }
  }
  channel set $joinchan -clearbans -enforcebans +dynamicbans +userbans -autoop +bitch -greet -protectops +statuslog +stopnethack +revenge +secret
 return 1
}

proc proc_bpart {bot command arg} {
  channel remove [lindex $arg 0]
 return 1
}

putlog "Mass Join/Part v1.0 for Eggdrop1.0 by \\-n0ble-\\ and simple Initialized."