Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Some generic lists that may be used elsewhere
- tld = [com net org de us cz fr gb jp ro ru se uk ws]
- char_upper = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
- char_lower = [abcdefghijklmnopqrstuvwxyz]
- // Some generic commands that may be used elsewhere // SVN
- createine = [if (=s (getalias $arg1) "") [$arg1 = $arg2]]
- append = [$arg1 = (concat (getalias $arg1) $arg2)]
- // Return given string with all of its letters swapped to
- // lowercase/uppercase, usage: /charcase <string> <0/1>
- charcase = [
- local tmp1 tmp2 char
- tmp1 = $arg1
- char = [? $arg1 $char_upper $char_lower]
- loop c (strlen $arg1) [
- tmp2 = (substr $tmp1 $c 1)
- if (> (strstr (char (! $arg2)) $tmp2) -1) [
- tmp1 = (strreplace $tmp1 $tmp2 (
- substr (char $arg2) (strstr (char (! $arg2)) $tmp2) 1
- ))
- ]
- ]
- result $tmp1
- ]
- // Half-assed command that is used as a helper for the one below.
- isnum = [
- local tmp
- tmp = 1
- loop n (strlen $arg1) [
- if (< (strstr "0123456789." (substr $arg1 $n 1)) 0) [tmp = 0]
- ]
- result $tmp
- ]
- // Half-assed command that estimates whether given IP is valid or not.
- isip = [
- && (
- = (listlen (strreplace $arg1 . " ")) 4
- ) (
- < (listfind i (strreplace $arg1 . " ") [|| (> $i 255) (< $i 0)]) 0
- ) (isnum $arg1)
- ]
- // Return the string with the lowest order in ASCII from given list, usage: (mins <list>)
- mins = [
- local tmp
- tmp = (at $arg1 0)
- looplist i $arg1 [if (<s $i $tmp) [tmp = $i]]
- result $tmp
- ]
- // Return the string with the highest order in ASCII from given list, usage: (maxs <list>)
- maxs = [
- local tmp
- tmp = (at $arg1 0)
- looplist i $arg1 [if (>s $i $tmp) [tmp = $i]]
- result $tmp
- ]
- // Return given list with its strings sorted on a descending/ascenting
- // order (second argument 0/1) based on the ASCII order, usage: (sortlist <list> <0/1>)
- sortlist = [
- local tmp
- loop p (listlen $arg1) [
- append tmp (
- format [[%1]] ((? $arg2 maxs mins) (listdel $arg1 $tmp))
- )
- ]
- result $tmp
- ]
- // Alias variables for the first use
- createine _qc_servlist ""
- createine _qc_servname ""
- // Define some commands as helpers
- _qc_findserv = [listfind i $_qc_servlist [=s $arg1 (at $i 0)]]
- _qc_complete = [
- _qc_servname = ""
- looplist i $_qc_servlist [append _qc_servname (at $i 0)]
- _qc_servname = (unescape (substr (sortlist $_qc_servname) 1))
- looplist i "qc qcdelserv qcviewserv" [
- listcomplete $i $_qc_servname
- ]
- ]
- _qc_info = [
- local tmp
- tmp = (at $_qc_servlist (_qc_findserv $arg1))
- echo (format "^f7Name: ^f2%1 ^f7%2: ^f2%3 ^f7Port: ^f2%4" (at $tmp 0) (? (isip (at $tmp 1)) IP Domain) (at $tmp 1) (at $tmp 2))
- ]
- // Below here lies the magic, user commands.
- qcaddserv = [
- local tmp1 tmp2
- tmp1 = (strreplace $arg2 . " ")
- tmp2 = (at (unescape $arg1) 0)
- cond (|| (> (_qc_findserv $arg1) -1) (isip $arg1)) [
- error "^f3QC entry already exists or is invalid!"
- ] (
- ? (>= $numargs 2) (
- ? (< (indexof $tld (charcase (at $tmp1 (- (listlen $tmp1) 1)))) 0) (! (isip $arg2))
- ) (! (isconnected))
- ) [
- error "^f3IP or Domain is invalid!"
- ] [
- append _qc_servlist (
- format [[%1 %2 %3]] $tmp2 (
- ? (> $numargs 1) $arg2 (connectedip)
- ) (
- ? (> $numargs 2) $arg3 (? (isconnected) (connectedport) 28785)
- )
- )
- echo "^f2QC ^f7entry^f2" $tmp2 "^f7has been included successfully!"
- _qc_complete
- ]
- ]
- qcdelserv = [
- if (< (_qc_findserv $arg1) 0) [
- error "^f3QC entry does not exist!"
- ] [
- _qc_servlist = (listdel $_qc_servlist (format [[%1]] (at $_qc_servlist (_qc_findserv $arg1))))
- echo "^f2QC ^f7entry^f2" $arg1 "^f7has been deleted successfully!"
- _qc_complete
- ]
- ]
- qclistserv = [
- if (=s $_qc_servlist "") [error "^f3No registered entries!"] [
- if $numargs [looplist i $_qc_servname [_qc_info $i]] [
- echo (format "^f2%1^f7 Available servers: ^f2%2" (listlen $_qc_servname) (strreplace (prettylist $_qc_servname) "," "^f7,^f2"))
- ]
- ]
- ]
- qcviewserv = [
- if (< (_qc_findserv $arg1) 0) [
- error "^f3QC entry does not exist!"
- ] [_qc_info $arg1]
- ]
- qc = [
- local tmp
- tmp = (at $_qc_servlist (_qc_findserv $arg1))
- if (=s $_qc_servlist "") [error "^f3No registered entries!"] [
- connect (at $tmp 1) (at $tmp 2)
- ]
- ]
- // Compile tab completion upon execution, just in case
- _qc_complete
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement