Teamspeak Query Bot — File Browser
TeamspeakQueryBotv0.92 / TeamspeakQueryBotv0.92 / tsquery.mrc
tsquery.mrc — 5.1 KB — Download this file
; mIRC Teamspeak query bot by Andromeda
; Version 0.92
; Email: andromeda.gdi@gmail.com
; IRC: irc.protium.org #nbw
on *:LOAD:{
if ($version < 6.03) {
.unload -rs tsquery.mrc
echo -ts Teamspeak Query Bot Requires mIRC v6.03 or newer to be installed successfully.
}
else { /echo -a mIRC Teamspeak Query Bot LOADED successfully }
}
on $*:TEXT:/^[!@.]addalias/i:*:{
var %alias $2
var %ip $3
if ((%alias != $null) && (%ip != $null)) {
.writeini query.ini tsquery %alias %ip
/msg $chan $nick $+ %alias %ip $+ has been added to tsquery $+ $chr(46)
}
}
;-----------------------------------------------------------------------------
; Begin TS Server Query
;-----------------------------------------------------------------------------
on $*:text:/^[!@.]ts/i:#:{
$tsquery($chan,$2)
}
on $*:text:/^[!@.]ts/i:?:{
$tsquery($nick,$2)
}
on *:input:#:{
if ($1 == !ts) {
$tsquery($chan,$2)
}
else if ($1 == !addalias) {
var %alias $2
var %ip $3
if ((%alias != $null) && (%ip != $null)) {
.writeini query.ini tsquery %alias %ip
/msg $chan $nick $+ %alias %ip $+ has been added to tsquery $+ $chr(46)
}
}
}
on *:input:?:{
if ($1 == !ts) {
$tsquery($nick,$2)
}
else if ($1 == !addalias) {
var %alias $2
var %ip $3
if ((%alias != $null) && (%ip != $null)) {
.writeini query.ini tsquery %alias %ip
/msg $nick $+ %alias %ip $+ has been added to tsquery $+ $chr(46)
}
}
}
alias -l tsquery {
if (($2 != $null) && ($chr(46) !isin $2)) {
if ($readini(query.ini,tsquery,$2) != $null) {
var %server $readini(query.ini,tsquery,$2)
; %server --> 67.18.198.30:9000
var %sockserver $1 $+ $chr(174) $+ %server
; %sockserver --> nick®67.18.198.30:9000
sockclose ts. [ $+ [ %sockserver ] ]
unset %ts. [ $+ [ %sockserver ] ]
unset %pl. [ $+ [ %sockserver ] ]
sockopen -tk ts. [ $+ [ %sockserver ] ] $gettok(%server,1,58) 51234
}
else if (server* iswm $2) {
$gettsservers($1)
}
else {
/msg $1 Please put in a valid IP or alias. Type: "!ts servers" for list of servers.
}
}
else if (($2 != $null) && ($gettok($2,2,58) != $null)) {
var %sockserver $1 $+ $chr(174) $+ $2 $gettok($2,1,58) 51234
; %sockserver --> nick®67.18.198.30:9000
sockclose ts. [ $+ [ %sockserver ] ]
unset %ts. [ $+ [ %sockserver ] ]
unset %pl. [ $+ [ %sockserver ] ]
sockopen -tk ts. [ $+ [ %sockserver ] ]
}
else if ($2 != $null) {
/msg $1 TS ERROR: Please put a port number.
/msg $1 Example: !ts ts1.dsservers.com:8767
}
else { /msg $1 Please put in a valid IP or alias. Type: "!ts servers" for list of servers. }
}
on *:SOCKOPEN:ts.*:{
sockwrite -n $sockname si $gettok($sockname,2,58)
}
on *:SOCKOPEN:pl.*:{
sockwrite -n $sockname pl $gettok($sockname,2,58)
}
on *:SOCKREAD:ts.*: {
if ($sockerr > 0) { return }
var %tmp | var %maxusers | var %tmpserv $gettok($sockname,2-,46) | var %tmpchan $gettok($gettok($sockname,2-,46),1,174)
sockread %tmp
while ($sockbr) {
if (%tmp == [TS]) { sockread %tmp }
else if (%tmp == OK) { sockclose $sockname }
else if (server_name=* iswm %tmp) {
set %ts. [ $+ [ %tmpserv ] ] $gettok(%tmp,2,61)
}
else if (server_maxusers=* iswm %tmp) {
set %maxusers $chr(47) $+ $gettok(%tmp,2,61) $+ $chr(41)
}
else if (server_currentusers=* iswm %tmp) {
set %ts. [ $+ [ %tmpserv ] ] %ts. [ $+ [ %tmpserv ] ] $+ $chr(32) $+ $chr(40) $+ $gettok(%tmp,2,61) $+ %maxusers
/msg %tmpchan TS Server: $gettok(%tmpserv,2,174) %ts. [ $+ [ %tmpserv ] ]
sockclose pl. [ $+ [ %tmpserv ] ]
sockopen -tk pl. [ $+ [ %tmpserv ] ] $gettok($gettok(%tmpserv,1,58),2,174) 51234
sockclose $sockname
break
}
sockread %tmp
}
}
on *:SOCKREAD:pl.*: {
if ($sockerr > 0) { return }
var %tmp | var %tmpchan $gettok($gettok($sockname,2-,46),1,174)
sockread %tmp
while ($sockbr) {
if (%tmp == [TS]) { sockread %tmp }
else if (%tmp == OK) { tspost $gettok($sockname,2-,46) | break }
else {
if ($len( % [ $+ [ $sockname ] ] ) < 400 ) {
set % [ $+ [ $sockname ] ] % [ $+ [ $sockname ] ] $replace($gettok(%tmp,15,9) $+ $chr(32) , nick, $null)
}
else {
/msg %tmpchan Users connected: % [ $+ [ $sockname ] ]
set % [ $+ [ $sockname ] ] $replace($gettok(%tmp,15,9) $+ $chr(32) , nick, $null)
}
}
sockread %tmp
}
}
alias tspost {
sockclose *. [ $+ [ $1- ] ]
if (%pl. [ $+ [ $1 ] ] == $chr(32)) {
unset %ts. [ $+ [ $1 ] ]
unset %pl. [ $+ [ $1 ] ]
return
}
/msg $gettok($1,1,174) Users connected: %pl. [ $+ [ $1 ] ]
unset %ts. [ $+ [ $1 ] ]
unset %pl. [ $+ [ $1 ] ]
}
alias -l gettsservers {
var %i 0
var %list
while (%i <= $ini(query.ini,tsquery,0)) {
var %ini $ini(query.ini,tsquery,[ %i ])
if ($gettok($readini(query.ini,tsquery,[ %ini ]),1,58)) {
set %list %list %ini
}
inc %i
}
/msg $1 TS Servers: %list
}