| View previous topic :: View next topic |
| Author |
Message |
R-WaT Halfop
Joined: 06 Jan 2006 Posts: 79
|
Posted: Thu Feb 16, 2006 4:21 pm Post subject: need help changing team manager script |
|
|
<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 |
|
 |
Winters Voice
Joined: 09 Jul 2005 Posts: 29
|
Posted: Sat Feb 18, 2006 3:27 pm Post subject: |
|
|
| 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  |
|
| Back to top |
|
 |
|
|
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
|
|