### benz International Team
### Eggdrop Division
### LongText.TCL
### Edited by cokkie @DALnet
### cokkie Channel : #namec

# Don't edit anything below unless you know what you're fucking doing!

proc pubmsg {nick uhost hand chan text} {
  global botnick 
  set uhost [string tolower $uhost]
  set chan [string tolower $chan]
  set text [string tolower $text]
  if {$nick == $botnick} {return 0}
  if {![botisop $chan] || [matchattr $hand f|f $chan] || [isop $nick $chan] || [isvoice $nick $chan]} {return 0}
  if {[string length $text] >= 300} {
    set bmask *!*[string tolower [string range $uhost [string first "@" $uhost] end]]
    putquick "MODE $chan +mc" ; utimer 120 "ulock $chan"
    putquick "MODE $chan +b $bmask"
    putquick "KICK $chan $nick :what you`ve tried to do ?" 
    putlog "Banning $bmask for phrasing long text on $chan. Channel has been locked temporarily."
  }
  return 0
}

proc notmsg {nick uhost hand chan text} {
  global botnick 
  set uhost [string tolower $uhost]
  set chan [string tolower $chan]
  set text [string tolower $text]
  if {$nick == $botnick} {return 0}
  if {![botisop $chan] || [matchattr $hand f|f $chan] || [isop $nick $chan] || [isvoice $nick $chan]} {return 0}
  if {[string length $text] >= 150} {
    set bmask *!*[string tolower [string range $uhost [string first "@" $uhost] end]]
    putquick "MODE $chan +mc" ; utimer 120 "ulock $chan"
    putquick "MODE $chan +b $bmask"
    putquick "KICK $chan $nick :banned: what you`ve tried to do ?" 
    putlog "Banning $bmask for phrasing long notice on $chan. Channel has been locked temporarily."
  }
  return 0
}

proc ulock {chan} {
  global botnick
  if {[validchan $chan]} {
    if {[botisop $chan]} {
      set currmode [getchanmode $chan]
      if {[string match "*m*" $currmode]} {putquick "MODE $chan -mck \002a\002.l.\002o\002.n.\002e\002" ; putlog "\[\!4ckc\]: Removed +m on $chan."}
    }
  }
}

proc pubact {nick uhost hand dest key arg} {
  pubmsg $nick $uhost $hand $dest $arg
}

proc pubnotc {from keyword arg} {
  set nick [lindex [split $from !] 0]
  set chan [string tolower [lindex [split $arg] 0]]
  if {![validchan $chan] || ![onchan $nick $chan]} {return 0}
  set uhost [getchanhost $nick $chan]
  set hand [nick2hand $nick $chan]
  set text [join [lrange [split $arg] 1 end]]
  notmsg $nick $uhost $hand $chan $text
}

bind pubm - * pubmsg
bind ctcp - ACTION pubact
bind raw - NOTICE pubnotc

putlog "Stupidty *** LongText.TCL Loaded."
