egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

need help changing team manager script

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases
View previous topic :: View next topic  
Author Message
R-WaT
Halfop


Joined: 06 Jan 2006
Posts: 79

PostPosted: Thu Feb 16, 2006 4:21 pm    Post subject: need help changing team manager script Reply with quote

<rwat^ms> .commands
-MouseSkills- You can use these commands :
-MouseSkills- commands: .test .penis .lawler .website
-MouseSkills- .steamid to retrieve steamid.
-MouseSkills- .searchsteam to search server, map, player.
-MouseSkills- .last Shows you last match(es).
-MouseSkills- .next Shows you the next match.
-MouseSkills- .record Shows you the records.


I dont want mouseskills replying with all that info. I just want it to say "Commands - .command .command .commands" and thats it.

Code:
# needs: tfile(dir/ver)

# include files needed

set tfile(cmm) "$tfile(dir)/team-common.dat"
set tfile(cms) "0"

# team-#channel.dat

proc learn:rcf {channel} {
   global tfile
   if {$tfile(cms) == 1} {
     return $tfile(cmm)
   } else {
     return $tfile(dir)/team-$channel.dat
   }
 }

# team-#channel.dat.aux

proc learn:rcx {channel} {
   global tfile
   if {$tfile(cms) == 1} {
     return $tfile(cmm).aux
   } else {
     return $tfile(dir)/team-$channel.dat.aux
   }
 }

proc pub:learn:cmd {nick host hand channel text} {
   global tfile ttrig
   if {[channel get $channel noteam]} {
     return 0
   } 
   if {[lindex $text 0] == ""} {
     putserv "notice $nick :$ttrig(cmd) <option> ... (rev. $tfile(ver))"
     putserv "notice $nick :$ttrig(get) <command> (notice)"
     putserv "notice $nick :$ttrig(teg) <command> (channel)"
     if {[matchattr [nick2hand $nick] f]} {
       putserv "notice $nick :$ttrig(cmd) <command> <definition>"
     }
     putserv "notice $nick :bug reports or innovations to http://sourceforge.net/projects/teambot/"
     return 0
    }

   if {[lindex $text 0] == "-a"} {
     pub:learn:add $nick $channel [lrange $text 1 end]
     return 0
   }

   if {[lindex $text 0] == "-d"} {
     pub:learn:del $nick $channel [lrange $text 1 end]
     return 0
   }
 
   if {[lindex $text 0] == "commands" || [lindex $text 0] == "roster" || [lindex $text 0] == "servers" || [lindex $text 0] == "sponsors" || [lindex $text 0] == "rules" || [lindex $text 0] == "news" || [lindex $text 0] == "leagues" || [lindex $text 0] == "practices" || [lindex $text 0] == "web" || [lindex $text 0] == "motd"} {
     pub:learn:del $nick $channel [lrange $text 0 0]
     pub:learn:add $nick $channel [lrange $text 0 end]
     return 0
   }

   putserv "notice $nick :invalid option.  option: commands, roster, servers, sponsors, rules, news, leagues, practices, web, motd "
  }


proc team:commands {nick host hand channel text} {
   global ttrig tfile tmatch
   if {[channel get $channel noteam]} {
     return 0
   } 
   if {$tmatch(queue)!=""} {
     if {[expr [unixtime] - $tmatch(queue)] <$tmatch(sec)} {
       putserv "notice $nick : Someone is already requesting help, try again in $tmatch(sec) seconds please"
       return 0
     }
   }
   set tmatch(queue) [unixtime]
   putserv "notice $nick :You can use these commands :"
   pub:learn:get $nick $host $hand $channel commands
   putserv "notice $nick :\002$ttrig(get)steamid\002 to retrieve steamid."
   putserv "notice $nick :\002$ttrig(get)searchsteam\002 to search server, map, player."
   putserv "notice $nick :\002$ttrig(get)last\002 Shows you last match(es)."
   putserv "notice $nick :\002$ttrig(get)next\002 Shows you the next match."
   putserv "notice $nick :\002$ttrig(get)record\002 Shows you the records."
   }

proc team:roster {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel roster
   }

proc team:servers {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel servers
   }

proc team:sponsors {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel sponsors
   }

proc team:rules {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel rules
   }

proc team:news {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel news
   }
   
proc team:leagues {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel leagues
   }

proc team:practices {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel practices
   }

proc team:web {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 
   pub:learn:get $nick $host $hand $channel web
   }

proc team:help {nick uhost handle channel arg} {
   global ttrig tfile tmatch
   if {[channel get $channel noteam]} {
     return 0
   }
   if {[matchattr $handle T|T $channel]} {
     putserv "notice $nick :You can use these commands :"
     putserv "notice $nick :\002$ttrig(get)addmatch\002 team(xxx) date(hh:mm-mm/dd/yy) map(x) ( + infos(x) ) Add a match un the calendar, info(x) are not required."
     putserv "notice $nick :\002$ttrig(get)addresult\002 <id> <your-score> <opponent-socre> Add a result on a pending match."
     putserv "notice $nick :\002$ttrig(get)chinfo\002 <id> <new entries>. Change stored informations about <id>."
     putserv "notice $nick :\002$ttrig(get)delete\002 <id> Delete a match from database."
     putserv "notice $nick :\002$ttrig(get)id\002 Shows you last entries in database and the ID (set by default to $tmatch(shownumber))."
     putserv "notice $nick :\002$ttrig(get)pending\002 <x> Shows you the more recent match(es) waiting for a result."
     putserv "notice $nick :\002$ttrig(get)upcoming\002 <x> Shows you the next <x> matches in the calendar."
     putserv "notice $nick :team manager v$tfile(ver) by LorT"
   } 
  }

# needs: learn:rcf

proc learn:get {channel unikey uniidx} {
   set rslt [list]

   set fp [open [learn:rcf $channel] r]

   while {![eof $fp]} {
     set line [gets $fp]
     if {[lindex $line 0] == $unikey} {
     set rslt [linsert $rslt 0 $line]
     }
   }

   close $fp

  # reverse stack list (shouldn't happen :-()

   set tlsr [list]

   foreach unikey $rslt {
     set tlsr [linsert $tlsr 0 $unikey]
   }

   return $tlsr
 }

proc learn:dln {nick list idx udx} {
   foreach unikey $list {
     if {[lrange $unikey 0 0] == "motd"} {
       putserv "notice $nick : [join [lrange $unikey 1 end]]"
     } else {
       putserv "notice $nick :\002[join [lrange $unikey 0 0]]:\002 [join [lrange $unikey 1 end]]"
    }
  }
}

proc learn:dlc {channel list idx udx} {
   foreach unikey $list {
     putserv "privmsg $channel :\002[join [lrange $unikey 0 0]]:\002 [join [lrange $unikey 1 end]]"
     }
  }

proc learn:cdf {channel unikey} {

   set bdc 0
   set fp [open [learn:rcf $channel] r]

   while {![eof $fp]} {
     set line [gets $fp]
     if {[lindex $line 0] == $unikey} {
       incr bdc
     }
   }

   close $fp

   return $bdc
  }

proc pub:learn:get {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 

  if {[lindex $text 0] == ""} {
    puthelp "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    return 0
  }

  set unikey [string tolower [lindex $text 0]]
  set uniidx 0

  if {[string is integer -strict [lindex $text 1]]} {
    set uniidx [lindex $text 1]
  }

  set rslt [learn:get $channel $unikey $uniidx]

  if {$rslt == ""} {
  } else {
    learn:dln $nick $rslt $uniidx [learn:cdf $channel $unikey]
  }
}

proc pub:learn:teg {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 

  if {[lindex $text 0] == ""} {
    puthelp "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    return 0
  }

  set unikey [string tolower [lindex $text 0]]
  set uniidx 0

  if {[string is integer -strict [lindex $text 1]]} {
    set uniidx [lindex $text 1]
  }

  set rslt [learn:get $channel $unikey $uniidx]

  if {$rslt == ""} {
  } else {
    learn:dlc $channel $rslt $uniidx [learn:cdf $channel $unikey]
  }
}

# needs: tfile(max/def) learn:rcf

proc learn:cdef {unikey channel} {

  set bdc 0
  set fp [open [learn:rcf $channel] r]

  while {![eof $fp]} {
    set line [gets $fp]
    if {[lindex $line 0] == $unikey} {
      incr bdc
    }
  }
  close $fp
  return $bdc
}

proc pub:learn:add {nick channel text} {
  global tfile

  if {[lindex $text 1] == ""} {
    putserv "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    set fp [open [learn:rcf $channel] a]
    close $fp
  }

  set unikey [string tolower [lindex $text 0]]
  set phrase [lrange $text 1 end]
  set time [strftime %FT%TZ]

  if {[learn:cdef $unikey $channel] == $tfile(def)} {
    putserv "notice $nick :table full ($tfile(def)).  not added"
    return 0
  }

  if {[string length $phrase] < $tfile(max)} {
    set fp [open [learn:rcf $channel] a]
    puts $fp "$unikey [join [lrange [split $phrase] 0 end]]"
    close $fp
    putserv "notice $nick :command recorded"
  } else {
    putserv "notice $nick :command too long (+ $tfile(max) chars)"
  }
}

# needs: learn:rcf learn:rcx
# team-dell.tcl

proc learn:del {channel unikey uniidx} {

  set idct 0
  set fp1 [open [learn:rcf $channel] r]
  set fp2 [open [learn:rcx $channel] a]

  while {![eof $fp1]} {

    set line [gets $fp1]

    if {$line != ""} {
      if {[lindex $line 0] != $unikey} {
        puts $fp2 $line
      } else {
        incr idct
   if {$uniidx != $idct && $uniidx != 0} {
     puts $fp2 $line
   }
      }
    }
  }
  close $fp1
  close $fp2
  exec rm -f [learn:rcf $channel]
  exec mv [learn:rcx $channel] [learn:rcf $channel]
}

proc pub:learn:del {nick channel text} {
   if {[channel get $channel noteam]} {
     return 0
   } 

  if {[lindex $text 0] == ""} {
    putserv "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    return 0
  }

  set unikey [string tolower [lindex $text 0]]
  set uniidx 0

  if {[string is integer -strict [lindex $text 1]]} {
    set uniidx [lindex $text 1]
  }

  set rslt [learn:get $channel $unikey $uniidx]

  if {$rslt == ""} {
#    putserv "notice $nick :key not found"
  } else {
    learn:del $channel $unikey $uniidx
#    putserv "notice $nick :key forgotten"
  }
}

putlog "team-cmd.tcl, original by mferra"
Back to top
View user's profile Send private message AIM Address
Winters
Voice


Joined: 09 Jul 2005
Posts: 29

PostPosted: Sat Feb 18, 2006 3:27 pm    Post subject: Reply with quote

Code:

# needs: tfile(dir/ver)

# include files needed

set tfile(cmm) "$tfile(dir)/team-common.dat"
set tfile(cms) "0"

# team-#channel.dat

proc learn:rcf {channel} {
   global tfile
   if {$tfile(cms) == 1} {
     return $tfile(cmm)
   } else {
     return $tfile(dir)/team-$channel.dat
   }
 }

# team-#channel.dat.aux

proc learn:rcx {channel} {
   global tfile
   if {$tfile(cms) == 1} {
     return $tfile(cmm).aux
   } else {
     return $tfile(dir)/team-$channel.dat.aux
   }
 }

proc pub:learn:cmd {nick host hand channel text} {
   global tfile ttrig
   if {[channel get $channel noteam]} {
     return 0
   }
   if {[lindex $text 0] == ""} {
     putserv "notice $nick :$ttrig(cmd) <option> ... (rev. $tfile(ver))"
     putserv "notice $nick :$ttrig(get) <command> (notice)"
     putserv "notice $nick :$ttrig(teg) <command> (channel)"
     if {[matchattr [nick2hand $nick] f]} {
       putserv "notice $nick :$ttrig(cmd) <command> <definition>"
     }
     putserv "notice $nick :bug reports or innovations to http://sourceforge.net/projects/teambot/"
     return 0
    }

   if {[lindex $text 0] == "-a"} {
     pub:learn:add $nick $channel [lrange $text 1 end]
     return 0
   }

   if {[lindex $text 0] == "-d"} {
     pub:learn:del $nick $channel [lrange $text 1 end]
     return 0
   }
 
   if {[lindex $text 0] == "commands" || [lindex $text 0] == "roster" || [lindex $text 0] == "servers" || [lindex $text 0] == "sponsors" || [lindex $text 0] == "rules" || [lindex $text 0] == "news" || [lindex $text 0] == "leagues" || [lindex $text 0] == "practices" || [lindex $text 0] == "web" || [lindex $text 0] == "motd"} {
     pub:learn:del $nick $channel [lrange $text 0 0]
     pub:learn:add $nick $channel [lrange $text 0 end]
     return 0
   }

   putserv "notice $nick :invalid option.  option: commands, roster, servers, sponsors, rules, news, leagues, practices, web, motd "
  }


proc team:commands {nick host hand channel text} {
   global ttrig tfile tmatch
   if {[channel get $channel noteam]} {
     return 0
   }
   if {$tmatch(queue)!=""} {
     if {[expr [unixtime] - $tmatch(queue)] <$tmatch(sec)} {
       putserv "notice $nick : Someone is already requesting help, try again in $tmatch(sec) seconds please"
       return 0
     }
   }
   set tmatch(queue) [unixtime]
   putserv "notice $nick :You can use these commands :"
   pub:learn:get $nick $host $hand $channel commands
   putserv "notice $nick :\002$ttrig(get)steamid\002, \002$ttrig(get)searchsteam\002, \002$ttrig(get)last\002, \002$ttrig(get)next\002, \002$ttrig(get)record\002."
   }

proc team:roster {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel roster
   }

proc team:servers {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel servers
   }

proc team:sponsors {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel sponsors
   }

proc team:rules {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel rules
   }

proc team:news {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel news
   }
   
proc team:leagues {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel leagues
   }

proc team:practices {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel practices
   }

proc team:web {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }
   pub:learn:get $nick $host $hand $channel web
   }

proc team:help {nick uhost handle channel arg} {
   global ttrig tfile tmatch
   if {[channel get $channel noteam]} {
     return 0
   }
   if {[matchattr $handle T|T $channel]} {
     putserv "notice $nick :You can use these commands :"
     putserv "notice $nick :\002$ttrig(get)addmatch\002 team(xxx) date(hh:mm-mm/dd/yy) map(x) ( + infos(x) ) Add a match un the calendar, info(x) are not required."
     putserv "notice $nick :\002$ttrig(get)addresult\002 <id> <your-score> <opponent-socre> Add a result on a pending match."
     putserv "notice $nick :\002$ttrig(get)chinfo\002 <id> <new entries>. Change stored informations about <id>."
     putserv "notice $nick :\002$ttrig(get)delete\002 <id> Delete a match from database."
     putserv "notice $nick :\002$ttrig(get)id\002 Shows you last entries in database and the ID (set by default to $tmatch(shownumber))."
     putserv "notice $nick :\002$ttrig(get)pending\002 <x> Shows you the more recent match(es) waiting for a result."
     putserv "notice $nick :\002$ttrig(get)upcoming\002 <x> Shows you the next <x> matches in the calendar."
     putserv "notice $nick :team manager v$tfile(ver) by LorT"
   }
  }

# needs: learn:rcf

proc learn:get {channel unikey uniidx} {
   set rslt [list]

   set fp [open [learn:rcf $channel] r]

   while {![eof $fp]} {
     set line [gets $fp]
     if {[lindex $line 0] == $unikey} {
     set rslt [linsert $rslt 0 $line]
     }
   }

   close $fp

  # reverse stack list (shouldn't happen :-()

   set tlsr [list]

   foreach unikey $rslt {
     set tlsr [linsert $tlsr 0 $unikey]
   }

   return $tlsr
 }

proc learn:dln {nick list idx udx} {
   foreach unikey $list {
     if {[lrange $unikey 0 0] == "motd"} {
       putserv "notice $nick : [join [lrange $unikey 1 end]]"
     } else {
       putserv "notice $nick :\002[join [lrange $unikey 0 0]]:\002 [join [lrange $unikey 1 end]]"
    }
  }
}

proc learn:dlc {channel list idx udx} {
   foreach unikey $list {
     putserv "privmsg $channel :\002[join [lrange $unikey 0 0]]:\002 [join [lrange $unikey 1 end]]"
     }
  }

proc learn:cdf {channel unikey} {

   set bdc 0
   set fp [open [learn:rcf $channel] r]

   while {![eof $fp]} {
     set line [gets $fp]
     if {[lindex $line 0] == $unikey} {
       incr bdc
     }
   }

   close $fp

   return $bdc
  }

proc pub:learn:get {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }

  if {[lindex $text 0] == ""} {
    puthelp "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    return 0
  }

  set unikey [string tolower [lindex $text 0]]
  set uniidx 0

  if {[string is integer -strict [lindex $text 1]]} {
    set uniidx [lindex $text 1]
  }

  set rslt [learn:get $channel $unikey $uniidx]

  if {$rslt == ""} {
  } else {
    learn:dln $nick $rslt $uniidx [learn:cdf $channel $unikey]
  }
}

proc pub:learn:teg {nick host hand channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }

  if {[lindex $text 0] == ""} {
    puthelp "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    return 0
  }

  set unikey [string tolower [lindex $text 0]]
  set uniidx 0

  if {[string is integer -strict [lindex $text 1]]} {
    set uniidx [lindex $text 1]
  }

  set rslt [learn:get $channel $unikey $uniidx]

  if {$rslt == ""} {
  } else {
    learn:dlc $channel $rslt $uniidx [learn:cdf $channel $unikey]
  }
}

# needs: tfile(max/def) learn:rcf

proc learn:cdef {unikey channel} {

  set bdc 0
  set fp [open [learn:rcf $channel] r]

  while {![eof $fp]} {
    set line [gets $fp]
    if {[lindex $line 0] == $unikey} {
      incr bdc
    }
  }
  close $fp
  return $bdc
}

proc pub:learn:add {nick channel text} {
  global tfile

  if {[lindex $text 1] == ""} {
    putserv "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    set fp [open [learn:rcf $channel] a]
    close $fp
  }

  set unikey [string tolower [lindex $text 0]]
  set phrase [lrange $text 1 end]
  set time [strftime %FT%TZ]

  if {[learn:cdef $unikey $channel] == $tfile(def)} {
    putserv "notice $nick :table full ($tfile(def)).  not added"
    return 0
  }

  if {[string length $phrase] < $tfile(max)} {
    set fp [open [learn:rcf $channel] a]
    puts $fp "$unikey [join [lrange [split $phrase] 0 end]]"
    close $fp
    putserv "notice $nick :command recorded"
  } else {
    putserv "notice $nick :command too long (+ $tfile(max) chars)"
  }
}

# needs: learn:rcf learn:rcx
# team-dell.tcl

proc learn:del {channel unikey uniidx} {

  set idct 0
  set fp1 [open [learn:rcf $channel] r]
  set fp2 [open [learn:rcx $channel] a]

  while {![eof $fp1]} {

    set line [gets $fp1]

    if {$line != ""} {
      if {[lindex $line 0] != $unikey} {
        puts $fp2 $line
      } else {
        incr idct
   if {$uniidx != $idct && $uniidx != 0} {
     puts $fp2 $line
   }
      }
    }
  }
  close $fp1
  close $fp2
  exec rm -f [learn:rcf $channel]
  exec mv [learn:rcx $channel] [learn:rcf $channel]
}

proc pub:learn:del {nick channel text} {
   if {[channel get $channel noteam]} {
     return 0
   }

  if {[lindex $text 0] == ""} {
    putserv "notice $nick :invalid syntax"
    return 0
  }

  if {![file exists [learn:rcf $channel]]} {
    return 0
  }

  set unikey [string tolower [lindex $text 0]]
  set uniidx 0

  if {[string is integer -strict [lindex $text 1]]} {
    set uniidx [lindex $text 1]
  }

  set rslt [learn:get $channel $unikey $uniidx]

  if {$rslt == ""} {
#    putserv "notice $nick :key not found"
  } else {
    learn:del $channel $unikey $uniidx
#    putserv "notice $nick :key forgotten"
  }
}

putlog "team-cmd.tcl, original by mferra"


This should work Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber