home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / bx75p3.zip / doc / functions < prev    next >
Text File  |  1999-02-23  |  39KB  |  1,103 lines

  1. BitchX function doc.  
  2. Last updated: 9/10/98 by power <power@power.zepa.net>
  3.  
  4.  
  5. Function: $left()
  6. Usage:    $left(number text)
  7. Returns:  the <number> leftmost characters in <text>.
  8. Example:  $left(5 the quick brown frog) returns "the q"
  9.  
  10. Function: $getkey()
  11. Usage:    $getkey(channel)
  12. Returns:  the channel key if there is one.
  13. Example:  $getkey(#BitchX) should return nothing ;)
  14.  
  15. Function: $right()
  16. Usage:    $right(number text)
  17. Returns:  the <number> rightmost characters in <text>.
  18. Example:  $right(5 the quick brown frog) returns " frog"
  19.  
  20. Function: $mid()
  21. Usage:    $mid(start number text)
  22. Returns:  the <start>th through <start>+<number>th characters in <text>.
  23. Example:  $mid(3 4 the quick brown frog) returns " qui"
  24. Notes:     the first character is numbered zero.
  25.  
  26. Function: $rand()
  27. Usage:    $rand(max)
  28. Returns:  A random number from zero to max-1.
  29. Example:  $rand(10) might return any number from 0 to 9.
  30.  
  31. Function: $srand()
  32. Usage:    $srand(seed)
  33. Returns:  Nothing.
  34. Side effect: seeds the random number generater.
  35. Notes:     the argument is ignored.
  36.  
  37. Function: $time()
  38. Usage:    $time()
  39. Returns:  The number of seconds that has elapsed since Jan 1, 1970, GMT.
  40. Example:  $time() returned something around 802835348 at the time I wrote
  41.           this comment.
  42.  
  43. Function: $stime()
  44. Usage:    $stime(time)
  45. Returns:  The human-readable form of the date based on the <time> argument.
  46. Example:  $stime(1000) returns what time it was 1000 seconds from the epoch.
  47. Notes:    $stime() is really useful when you give it the argument $time(),
  48.           ala $stime($time()) is the human readable form for now.
  49.  
  50. Function: $tdiff()
  51. Usage:    $tdiff(seconds)
  52. Returns:  The time that has elapsed represented in days/hours/minutes/seconds
  53.           corresponding to the number of seconds passed as the argument.
  54. Example:  $tdiff(3663) returns "1 hour 1 minute 3 seconds"
  55.  
  56. Function: $index()
  57. Usage:    $index(characters text)
  58. Returns:  The number of leading characters in <text> that do not occur
  59.           anywhere in the <characters> argument.
  60. Example:  $index(f three fine frogs) returns 6 (the 'f' in 'fine')
  61.           $index(frg three fine frogs) returns 2 (the 'r' in 'three')
  62.  
  63. Function: $rindex()
  64. Usage:    $rindex(characters text)
  65. Returns:  The number of leading characters in <text> that occur before the
  66.           *last* occurance of any of the characters in the <characters>
  67.           argument.
  68. Example:  $rindex(f three fine frogs) returns 12 (the 'f' in 'frogs')
  69.           $rindex(frg three fine frogs) returns 15 (the 'g' in 'frogs')
  70.  
  71. Function: $match()
  72. Usage:    $match(pattern list of words)
  73. Returns:  if no words in the list match the pattern, it returns 0.
  74.           Otherwise, it returns the number of the word that most
  75.           exactly matches the pattern (first word is numbered one)
  76. Example:  $match(f*bar foofum barfoo foobar) returns 3
  77.           $match(g*ant foofum barfoo foobar) returns 0
  78. Notes:    it is possible to embed spaces inside of a word or pattern simply
  79.           by including the entire word or pattern in quotation marks. (")
  80.  
  81. Function: $rmatch()
  82. Usage:    $rmatch(word list of patterns)
  83. Returns:  if no pattern in the list matches the word, it returns 0.
  84.           Otherwise, it returns the number of the pattern that most
  85.           exactly matches the word (first word is numbered one)
  86. Example:  $rmatch(foobar f*bar foo*ar g*ant) returns 2
  87.           $rmatch(booya f*bar foo*ar g*ant) returns 0
  88. Notes:    It is possible to embed spaces into a word or pattern simply by
  89.           including the entire word or pattern within quotation marks (")
  90.  
  91. Function: $userhost()
  92. Usage:    $userhost()
  93. Returns:  the userhost (if any) of the most previously recieved message.
  94. Notes:    $userhost() changes with every single line that appears on your
  95.           screen, so if you want to save it, you will need to assign it to
  96.           a variable.
  97.  
  98. Function: $strip()
  99. Usage:    $strip(characters text)
  100. Returns:  <text> with all instances of any characters in the <characters>
  101.           argument removed.
  102. Example:  $strip(f free fine frogs) returns "ree ine rogs"
  103. Notes:    it can be difficult (actually, not possible) to remove spaces from
  104.           a string using this function.  To remove spaces, simply use this:
  105.              $tr(/ //$text)
  106.           Actually, i recommend not using $strip() at all and just using
  107.              $tr(/characters//$text)
  108.           (but then again, im biased. >;-)
  109.  
  110. Function: $encode()
  111. Usage:    $encode(text)
  112. Returns:  a string, uniquely identified with <text> such that the string
  113.           can be used as a variable name.
  114. Example:  $encode(fe fi fo fum) returns "GGGFCAGGGJCAGGGPCAGGHFGN"
  115. Notes:    $encode($decode(text)) returns text (most of the time)
  116.           $decode($encode(text)) also returns text.
  117.  
  118. Function: $decode()
  119. Usage:    $decode(text)
  120. Returns:  If <text> was generated with $encode(), it returns the string
  121.           you originally encoded.  If it wasnt, you will probably get
  122.           nothing useful in particular.
  123. Example:  $decode(GGGFCAGGGJCAGGGPCAGGHFGN) returns "fe fi fo fum"
  124. Notes:    $encode($decode(text)) returns "text"
  125.           $decode($encode(text)) returns "text" too.
  126.           Yes.  $decode(plain-text) does compress the data by a factor of 2.
  127.           But it ignores non-ascii text, so use this as compression at your
  128.           own risk and peril.
  129.  
  130. Function: $ischannel()
  131. Usage:    $ischannel(text)
  132. Returns:  If <text> could be a valid channel name, 1 is returned.
  133.           If <text> is an illegal channel name, 0 is returned.
  134. Example:  $ischannel(i_am_not_on_this_channel) returns 0
  135.           $ischannel(#i_am_not_on_this_channel) returns 1
  136. Notes:    Contrary to popular belief, this function does NOT determine
  137.           whether a given channel name is in use!
  138.  
  139. Function: $ischanop()
  140. Usage:    $ischanop(nick channel)
  141. Returns:  1 if <nick> is a channel operator on <channel>
  142.           0 if <nick> is not a channel operator on <channel>
  143.                   * O R *
  144.           if you are not on <channel>
  145. Notes:    Contrary to popular belief, this function can only tell you
  146.           who the channel operators are for channels you are already on!
  147. Boo Hiss: This should be $ischanop(channel nick <nick...nick>)
  148.           and return a list (1 1 ... 0), which would allow us to
  149.           call is_chanop() without ripping off the nick, and allow
  150.           us to abstract is_chanop() to take a list. oh well...
  151.           Too late to change it now. :/
  152.  
  153. Function: $word()
  154. Usage:    $word(number text)
  155. Returns:  the <number>th word in <text>.  The first word is numbered zero.
  156. Example:  $word(3 one two three four five) returns "four" (think about it)
  157.  
  158. Function: $winnum()
  159. Usage:    $winnum()
  160. Returns:  the index number for the current window
  161. Notes:    returns -1 if there are no windows open (ie, in dumb mode)
  162.  
  163. Function: $winnam()
  164. Usage:    $winnam()
  165. Returns:  the current window name if any.
  166.  
  167. Function: $connect()
  168. Usage:    $connect(host port)
  169. Returns:  the socket number to use for read/write.
  170.  
  171. Function: $listen()
  172. Usage:    $listen(port)
  173. Returns:  the port allocated for the RAW_LISTEN
  174.  
  175. Function: $toupper()
  176. Usage:    $toupper(string)
  177. Returns:  the upper case string.
  178.  
  179. Function: $tolower()
  180. Usage:    $tolower(string)
  181. Returns:  the lower case string.
  182.  
  183. Function: $curpos()
  184. Usage:    $curpos()
  185. Returns:  returns current position in window buffer
  186.  
  187. Function: $mychannels()
  188. Usage:    $channels()
  189. Returns:  the channels you are currently in
  190.  
  191. Function: $servers()
  192. Usage:    $servers()
  193. Returns:  the list of servers.
  194.  
  195. Function: $pid()
  196. Usage:    $pid()
  197. Returns:  the pid of the process
  198.  
  199. Function: $ppid()
  200. Usage:    $ppid()
  201. Returns:  the parent pid of the process.
  202.  
  203. Function: $strftime()
  204. Usage:    $strftime(time format)
  205. Returns:  the formatted time str for time. if time is omitted then current
  206.           time is used. man strftime for the format specs.
  207.  
  208. Function: $idle()
  209. Usage:    $idle()
  210. Returns:  the idle time.
  211.  
  212. Function: $before()
  213. Usage:    $before(chars string of text)
  214. Returns:  the part of "string of text" that occurs before the
  215.           first instance of any character in "chars"
  216. Example:  $before(! hop!jnelson@iastate.edu) returns "hop"
  217.  
  218. Function: $after()
  219. Usage:    $after(chats string of text)
  220. Returns:  the part of "string of text" that occurs after the
  221.           first instance of any character in "chars"
  222. Example:  $after(! hop!jnelson@iastate.edu)  returns "jnelson@iastate.edu"
  223.  
  224. Function: $leftw()
  225. Usage:    $leftw(num string of text)
  226. Returns:  the left "num" words in "string of text"
  227. Example:  $leftw(3 now is the time for) returns "now is the"
  228.  
  229. Function: $rightw()
  230. Usage:    $rightw(num string of text)
  231. Returns:  the right num words in "string of text"
  232. Example:  $rightw(3 now is the time for) returns "the time for"
  233.  
  234. Function: $midw()
  235. Usage:    $midw(start num string of text)
  236. Returns:  "num" words starting at word "start" in the string "string of text"
  237. Example:  $midw(2 2 now is the time for) returns "the time"
  238. Notes:    The first word is word #0.
  239.  
  240. Function: $notw()
  241. Usage:    $notw(num string of text)
  242. Returns:  "string of text" with word number "num" removed.
  243. Example:  $notw(3 now is the time for) returns "now is the for"
  244. Notes:     The first word is numbered 0.
  245.  
  246. Function: $restw()
  247. Usage:    $restw(num string of text)
  248. Returns:  "string of text" that occurs starting with and including
  249.           word number "num"
  250. Example:  $restw(3 now is the time for) returns "time for"
  251. Notes:    the first word is numbered 0.
  252.  
  253. Function: $remw()
  254. Usage:    $remw(word string of text)
  255. Returns:  "string of text" with the word "word" removed
  256. Example:  $remw(the now is the time for) returns "now is time for"
  257.  
  258. Function: $insertw()
  259. Usage:    $insertw(num word string of text)
  260. Returns:  "string of text" such that "word" is the "num"th word
  261.           in the string.
  262. Example:  $insertw(3 foo now is the time for) returns "now is the foo time for"
  263. Notes:    the first word is numbered 0.
  264.  
  265. Function: $chngw()
  266. Usage:    $chngw(num word string of text)
  267. Returns:  "string of text" such that the "num"th word is removed
  268.           and replaced by "word"
  269. Example:  $chngw(3 foo now is the time for) returns "now is the foo for"
  270. Notes:    the first word is numbered 0
  271.  
  272. Function: $common()
  273. Usage:    $common (string of text / string of text)
  274. Returns:  Given two sets of words seperated by a forward-slash '/', returns
  275.           all words that are found in both sets.
  276. Example:  $common(one two three / buckle my two shoe one) returns "one two"
  277. Notes:    returned in order found in first string.
  278.  
  279. Function: $diff()
  280. Usage:    $diff(string of text / string of text)
  281. Returns:  given two sets of words, seperated by a forward-slash '/', returns
  282.           all words that are not found in both sets
  283. Example:  $diff(one two three / buckle my three shoe)
  284.           returns "one two buckle my shoe"
  285.  
  286. Function: $pattern()
  287. Usage:    $pattern(pattern string of words)
  288. Returns:  given a pattern and a string of words, returns all words that
  289.           are matched by the pattern
  290. Example:  $pattern(f* one two three four five) returns "four five"
  291.  
  292. Function: $filter()
  293. Usage:    $filter(pattern string of words)
  294. Returns:  given a pattern and a string of words, returns all words that are
  295.           NOT matched by the pattern
  296. Example:  $filter(f* one two three four five) returns "one two three"
  297.  
  298. Function: $rpattern()
  299. Usage:    $rpattern(word list of patterns)
  300. Returns:  Given a word and a list of patterns, return all patterns that
  301.           match the word.
  302. Example:  $rpattern(jnelson@iastate.edu *@* jnelson@* f*@*.edu)
  303.           returns "*@* jnelson@*"
  304.  
  305. Function: $rfilter()
  306. Usage:    $rfilter(word list of patterns)
  307. Returns:  given a word and a list of patterns, return all patterns that
  308.           do NOT match the word
  309. Example:  $rfilter(jnelson@iastate.edu *@* jnelson@* f*@*.edu)
  310.           returns "f*@*.edu"
  311.  
  312. Function: $copattern()
  313. Usage:    $copattern(pattern var_1 var_2)
  314. Returns:  Given a pattern and two variable names, it returns all words
  315.           in the variable_2 corresponding to any words in variable_1 that
  316.           are matched by the pattern
  317. Example:  @nicks = [hop IRSMan skip]
  318.           @userh = [jnelson@iastate.edu irsman@iastate.edu sanders@rush.cc.edu]
  319.           $copattern(*@iastate.edu userh nicks)
  320.           returns "hop IRSMan"
  321.  
  322. Function: $beforew()
  323. Usage:    $beforew(pattern string of words)
  324. Returns:  the portion of "string of words" that occurs before the
  325.           first word that is matched by "pattern"
  326. Example:  $beforew(three one two three o leary) returns "one two"
  327.  
  328. Function: $tow()
  329. Usage:    $tow(pattern string of words)
  330. Returns:  the portion of "string of words" that occurs up to and including
  331.           the first word that is matched by "pattern"
  332. Example:  $tow(panasync BitchX by panasync is cool)
  333.           returns "BitchX by panasync"
  334.  
  335. Function: $afterw()
  336. Usage:    $afterw(number words)
  337. Returns:  the string after the word being matched
  338.  
  339. Function: $fromw()
  340. Usage:    $fromw(pattern word1 ?word2? ... ?wordN?)
  341. Returns:  the string starting with the word being matched
  342. Example:  $fromw(asf asdf asf asdf) returns "asf asdf"
  343.  
  344. Function: $splice()
  345. Usage:    $splice(variable start length)
  346. Returns:  APPEARS to return a list of words starting with word "start"
  347.           of the variable, of length "length"
  348. Example:  assign cres.data.1 Cres... nuttin' but a smooth 100% /dev/zero
  349.           $splice(cres.data.1 4 3) returns "smooth 100% /dev/zero"
  350. Notes:    Not sure, but I think the first word is zero (thats pretty
  351.           standard)
  352.  
  353. Function: $numonchannel()
  354. Usage:    $numonchannel(channel)
  355. Returns:  the number of users on a channel. if channel is omitted then the
  356.           current channel is used.
  357.  
  358. Function: $onchannel()
  359. Usage:    $onchannel(channel) * OR * $onchannel(nick)
  360. Returns:  sorted list of nicks (channel) or if the nick is on channel
  361.           If no args, sorted list of nicks for current channel is returned.
  362.           Current channel is also used for (nick) test.
  363.  
  364. Function: $channelnicks()
  365. Usage:    $channelnicks(channel)
  366. Returns:  chops in a comma separated list.
  367.  
  368. Function: $chops()
  369. Usage:    $chops(channel)
  370. Returns:  chops in a space separated list.
  371.  
  372. Function: $nochops()
  373. Usage:    $nochops(channel)
  374. Returns:  nops in a space separated list.
  375.  
  376. Function: $key()
  377. Usage:    $key(channel)
  378. Returns:  channel key or "*" if none.
  379.  
  380. Function: $revw
  381. Usage:    $revw(words)
  382. Returns:  reverses the words.
  383. Example:  $revw(this rules) returns "rules this"
  384.  
  385. Function: $reverse()
  386. Usage:    $reverse(words)
  387. Returns:  reverses the chars in the words.
  388. Example:  $reverse(this rules) returns "selur siht"
  389.  
  390. Function: $strstr()
  391. Usage:    $strstr(needle haystack)
  392. Returns:  a list of words from the first "needle" in "haystack" to the end
  393.           of "haystack"
  394. Example:  $strstr(needle there is a needle in this haystack)
  395.           returns "needle in this haystack"
  396.  
  397. Function: $jot()
  398. Usage:    $jot(val1 val2 ?step?)
  399. Returns:  list of #'s from val1 to val2 by options ?step?, decreasing OR
  400.           increasing
  401. Example:  $jot(9 5 2) returns "9 7 5"
  402.  
  403. Function: $shift()
  404. Usage:    $shift(var)
  405. Notes:    removes the first word from $var
  406. Returns:  the word removed from $var
  407.  
  408. Function: $unshift()
  409. Usage:    $unshift(var <arg1> [arg2 arg3 ... argN])
  410. Returns:  the value of the var after the unshift
  411. Example:  assign cres.data.1 nuttin' but a smooth 100% /dev/zero
  412.           $unshift(cres.data.1 Cres... ) returns
  413.           "Cres... nuttin' but a smooth 100% /dev/zero"
  414.  
  415. Function: $tdiff2()
  416. Usage:    $tdiff2(timestr)
  417. Returns:  like tdiff but with d, h, m, s
  418. Example:  $tdiff(1234) returns 20m 34s
  419.  
  420. Function: $winchan()
  421. Usage:    $winchan(#channel <server refnum|server name>)
  422. Returns:  The refnum of the window where the channel is the current channel
  423.           on the server refnum or server name.
  424.           returns -1 on error
  425.  
  426. Function: $crypt()
  427. Usage:    $crypt(password seed)
  428. Returns:  a 13-char encrypted string when given a seed and password. 
  429.           Returns zero (0) if one or both args missing. Additional
  430.           args ignored.
  431. Notes:    Password truncated to 8 chars. Spaces allowed, but password
  432.           must be inside "" quotes.
  433.  
  434. Function: $pad()
  435. Usage:    $pad(N string of text goes here)
  436. Returns:  a padded string of text, either left or right. Final length is
  437.           N chars.
  438. Notes:    if N is negative, it'll pad to the right
  439.           if N is positive, it'll pad to the left
  440. Example:  $pad(20 letters) returns "             letters"
  441.  
  442. Function: $uniq()
  443. Usage:    $uniq (string of text)
  444. Returns:  Given a set of words, returns a new set of words with duplicates
  445.           removed.
  446. Example:  $uniq(one two one two) returns "one two"
  447.  
  448. Function: $sar()
  449. Usage:    $sar([g][r]/<search>/<replace>/<text>)
  450. Technical:
  451.           This function searches for the given search string in the given
  452.           text, and replaces if with the replacement text, if a match is
  453.           found.  The field delimiter may be any character; the first
  454.           character found that is not a 'g' or 'r' is used.
  455. Practical:
  456.           This is the general purpose search-and-replace function.  It allows
  457.           you to look for any arbitrary text substring in any text string, and
  458.           replace it with another arbitrary substring.  Any of the strings may
  459.           consist of variables to expand at runtime.
  460. Options:
  461.           g    replace all matches, not just the first
  462.           r    assume text is a variable name; assign return value to variable
  463. Examples:
  464.           @ foo = [foobarblah]
  465.           $sar(/oo/ee/booyamon)              returns "beeyamon"
  466.           $sar(/oo/ee/foofoo)                returns "feefoo"
  467.           $sar(g/oo/ee/foofoo)               returns "feefee"
  468.           $sar(r/oo/ee/foo)                  returns and sets $foo to
  469.                                              "feebarblah"
  470.  
  471. Function: $push()
  472. Usage:    $push(var word1 word2 ... wordN)
  473. Returns:  The value of $var with the given words appended to it (the var
  474.           need not previously exist)
  475. Example:  $push(newvar this is a new variable) returns "this is a new
  476.           variable", provided $newvar does not exist.
  477.  
  478. Function: $pop()
  479. Usage:    $pop(varname)
  480. Returns:  The value removed from varname.
  481. Notes:    This function removes the LAST "word" in $varname
  482.  
  483. Function: $center()
  484. Usage:    $center(width string)
  485. Returns:  Returns the string centered in "width" chars
  486. Notes:    The string is truncated from the right, so the returned length
  487.           is NOT "width".
  488. Example:  $center(30 BitchX) returns "            BitchX"
  489.  
  490. Function: $split()
  491. Usage:    $split(splitstring stringtosplit)
  492. Returns:  a list composed of "stringtosplit" split using "splitstring"
  493. Example:  $split(a abacadaeaf) returns " b c d e f"
  494.  
  495. Function: $chr()
  496. Usage:    $chr(num [num2] ... [numN])
  497. Returns:  the ascii char(s) the given "num(s)"
  498. Example:  $chr(120 121 122) returns "xyz"
  499.  
  500. Function: $ascii()
  501. Usage:    $ascii(char [char2] ... [charN])
  502. Returns:  the ASCII value of the given chars
  503. Note:     the arguments of $ascii() are NOT whitespaced.
  504. Example:  $ascii(xyz) returns "120 121 122"
  505.  
  506. Function: $which()
  507. Usage:    $which(filename)
  508. Returns:  the absolute path of any file in ~/.BitchX
  509. Example:  $which(BitchX.help) returns (on my box)
  510.           "/home/by-tor/.BitchX/BitchX.help"
  511.  
  512. Function: $isalpha()
  513. Usage:    $isalpha(char)
  514. Returns:  1 or 0 if char alpha or not
  515. Example:  $isalpha(6) returns 0
  516.  
  517. Function: $isdigit()
  518. Usage:    $isdigit(digit)
  519. Returns:  1 or 0 if digit is a digit or not
  520. Example:  $isdigit(4) returns 1
  521.  
  522. Function: $isnum()
  523. Usage:    $isnum(num)
  524. Returns:  1 or 0 if num is a number or not
  525. Example:  $isnum(44) returns 1
  526.  
  527. Function: $open()
  528. Usage:    $open(filename mode)
  529. Returns:  File handler # for the opened file, if successful. Nothing if
  530.           unsuccessful.
  531. Example:  $open($ctoolz_dir/BitchX.quits R) returns a # (should, if it
  532.           exists.
  533. Notes:    Possible flags are R and W from what I know...
  534.  
  535. Function: $close()
  536. Usage:    $close(filenum)
  537. Returns:  0 or -1, if closing the file handler "filenum" was successful or
  538.           unsuccessful, respectively.
  539. Example:  $close(99999999999999) returns -1 (hopefully)
  540.  
  541. Function: $writeb()
  542. Usage:    $writeb(filenum text)
  543. Returns:  The number of chars written to filenum
  544. Example:  $open(pfft W) returns 10
  545.           $writeb(10 pfft) returns 4
  546.  
  547. Function: $read()
  548. Usage:    $read(filenum bytes)
  549. Returns:  text read from the file opened by file handler "filenum"
  550. Example:  (none)
  551.  
  552. Function: $eof()
  553. Usage:    $eof(filenum)
  554. Returns:  0 or 1 depending on if the next char in the file is an EOF
  555. Example:  $open(pfft R) returns 10
  556.           $eof(10) returns 0
  557.  
  558. Function: $iptoname()
  559. Usage:    $iptoname(quad.dotted.ip)
  560. Returns:  the hostname for the given IP
  561. Example:  $iptoname(127.0.0.1) returns localhost
  562.  
  563. Function: $nametoip()
  564. Usage:    $nametoip(hostname)
  565. Returns:  the dotted quad IP address for hostname
  566. Example:  $nametoip(localhost) returns 127.0.0.1
  567.  
  568. Function: $convert()
  569. Usage:    $convert(IP or hostname)
  570. Returns:  either the reverse lookup of a given IP or the IP of a hostname
  571. Example:  $convert(127.0.0.1) returns localhost
  572.           $convert(localhost) returns 127.0.0.1
  573.  
  574. Function: $unlink()
  575. Usage:    $unlink(words)
  576. Returns:  appears to return the # of words
  577. Example:  $unlink(1 2 3) return 3
  578.  
  579. Function: $rename()
  580. Usage:    $rename(oldname newname)
  581. Returns:  0 or -1 depending upon the success of the rename
  582. Example:  $rename(/etc/passwd /etc/mypasswd) returns 0 if you are root ;)
  583.  
  584. Function: $rmdir()
  585. Usage:    $rmdir(dir)
  586. Returns:  1 if unsuccessful, 0 if successful (dont ask me why ;)
  587. Example:  $rmdir(.BitchX) returns 1
  588.  
  589. Function: $utime()
  590. Usage:    $utime()
  591. Returns:  the current uptime in the UNIXTIME format (seconds since 1970)
  592.           plus 100,000'ths of a second
  593. Example:  $uptime() returned "869015766 424919" when i write this
  594.  
  595. Function: $stripansi()
  596. Usage:    $stripansi(text)
  597. Returns:  "text" stripped ansi codes (the ^[)
  598. Example:  $stripansi(,10mfdsa) returns "[[0,10mfdsa"
  599.  
  600. Function: $stripansicodes()
  601. Usage:    $stripansicodes()
  602. Returns:  "text" stripped of ALL ansi codes, including the #s and format codes
  603. Example:  $stripansicodes(,10mfdsa) returns "fdsa"
  604.  
  605. Function: $stripmirc()
  606. Usage:    $stripmirc(text)
  607. Returns:  "text" stripped of mirc color codes
  608. Example:  $stripmirc(10ddf4asdf) returns "ddfasdf"
  609.  
  610. Function: $servername()
  611. Usage:    $servername(num)
  612. Returns:  the name of the server "num" in your servers list
  613. Example:  $servername(0) returns "irc.emory.edu" on my machine
  614.  
  615. Function: $lastserver()
  616. Usage:    $lastserver()
  617. Returns:  the server reference number of the last (and/or current) server
  618.           you connected to
  619. Example:  $lastserver() returns 0 on my box
  620.  
  621. Function: $winquery()
  622. Usage:    $winquery(querynick)
  623. Returns:  the window refnum with a query matching the querynick, or -1 if none.
  624. Example:  $winquery(panasync) returns -1
  625.  
  626. Function: $winserv()
  627. Usage:    $winserv(refnum)
  628. Returns:  the server reference number of the server for the window referenced
  629.           by refnum, or the current window if not specified. If "refnum" does
  630.           not exist, it returns -1.
  631. Example:  $winserv() returns 0 (referencing irc.emory.edu)
  632.  
  633. Function: $numwords()
  634. Usage:    $numwords(string of words)
  635. Returns:  the number of words in the arguments
  636. Example:  $numwords(count these words) returns 3
  637.  
  638. Function: $strlen()
  639. Usage:    $strlen(string)
  640. Returns:  the length of the string given
  641. Example:  $strlen(this is a string) returns 16
  642.  
  643. Function: $fexist()
  644. Usage:    $fexist(file)
  645. Returns:  returns 1 if file exists, -1 otherwise
  646. Example:  $fexist(/usr/local/bin/BitchX) returns 1
  647.  
  648. Function: $fsize()
  649. Usage:    $fsize(file)
  650. Returns:  the size of "file" or -1 if it doesnt exist
  651. Example:  $fsize(/usr/local/bin/BitchX-72) returns 786628
  652.  
  653. Function: $info()
  654. Usage:    $info()
  655. Returns:  some crap about BitchX i have no idea what it means
  656. Example:  $info() returns BitchX+adegikltz in bX72+tcl1.0 (tcl 8.0b2)
  657.  
  658. Function: $geom()
  659. Usage:    $geom()
  660. Returns:  the geometry of the current window
  661. Example:  $geom() returns "79 24" on my box
  662.  
  663. Function: $pass()
  664. Usage:    $pass(word1 word2)
  665. Returns:  does a char by char comparison of word2 to word1 and returns every 
  666.           char of word2 that appears in word1
  667. Example:  $pass(green yellow) returns "e"
  668.           $pass(yellow green) returns "ee"
  669.  
  670. Function: $uptime()
  671. Usage:    $uptime()
  672. Returns:  the current uptime for bX
  673. Example:  $uptime() returns "0d 0h 31m 6s" when i made this
  674.  
  675. Function: $eleet()
  676. Usage:    $eleet(text)
  677. Returns:  "text" parsed through bX's "eleet" text parser
  678. Example:  $eleet(this is ereet text) returns "+h15 15 3r33+ +3x+"
  679.  
  680. Function: $cool()
  681. Usage:    $cool(text)
  682. Returns:  "text" parsed through bX's "cool" text parser
  683. Example:  $cool(this is cool text) returns "ThIs iS CoOl tExT"
  684.  
  685. Function: $cool2()
  686. Usage:    $cool2(text)
  687. Returns:  "text" parsed through bX's "cool2" text parser
  688. Example:  $cool2(this is cool2 text) returns "THiS iS CooL2 TeXT"
  689.  
  690. Function: $annoy()
  691. Usage:    $annoy(text)
  692. Returns:  "text" parsed through bX's "annoy" text parser
  693. Example:  $annoy(this is annoy text) returns random annoy text ;)
  694.  
  695. Function: $checkshit()
  696. Usage:    $checkshit(userhost channel)
  697. Returns:  if given a hostmask matching your shitlist, returns the shitlist
  698.           level and channels its active for
  699. Example:  $checkshit(*!*@* #mirc) returns "4 #mirc" ;)
  700.  
  701. Function: $checkuser()
  702. Usage:    $checkuser(userhost channel)
  703. Returns:  if given a hostmask matching one on your userlist, returns the 
  704.           level, aop protect level, etc
  705. Example:  $checkuser(novalogic!nova@ra1.randomc.com #bitchx) returns
  706.           51 1 1 *nova@*.randomc.com #bitchx
  707.  
  708. Function: $checkbot()
  709. Usage:    $checkbot(userhost channel)
  710. Returns:  if given a hostname matching one on your bot list, returns the
  711.           pertinent info ...
  712. Example:  $checkbot(PimpBot!rush@nic.cerf.net #yyz) returns
  713.           3 3 *rush@nic.cerf.net #yyz
  714.  
  715. Function: $getinfo()
  716. Usage:    $getinfo(nick)
  717. Returns:  the info set by $setinfo() for a valid nick on your userlist
  718. Example:  $getinfo(panasync) returns "the coder for bitchx!"
  719.  
  720. Function: $setinfo()
  721. Usage:    $setinfo(nick info)
  722. Returns:  0 or 1 depending on the success of the command
  723. Notes:    "nick" must be on your userlist
  724. Example:  $setinfo(panasync the coder for bitchx!) returns 1
  725.  
  726. Function: $rot13()
  727. Usage:    $rot13(text)
  728. Returns:  the "text" encoded with ROT13 coding
  729. Example:  $rot13(asdf) returns "nfqs"
  730.  
  731. Function: $flash()
  732. Usage:    $flash(num)
  733. Returns:  the "flash" string referenced by num
  734. Example:  $flash(3) returns "**XB00"
  735.  
  736. Function: $repeat()
  737. Usage:    $repeat(num text)
  738. Returns:  the "text" repeated "num" times
  739. Example:  $repeat(10 a) returns "aaaaaaaaaa"
  740.  
  741. Function: $epic()
  742. Usage:    $epic()
  743. Returns:  1 if its an epic client, 0 if not
  744. Example:  $epic() returns 1
  745.  
  746. Function: $winsize()
  747. Usage:    $winsize(refnum)
  748. Returns:  the window size of the window referenced by refnum
  749. Example:  $winsize(1) returns 22
  750.  
  751. Function: $lastnotice()
  752. Usage:    $lastnotice(refnum)
  753. Returns:  the last notice recieved or nothing if none
  754. Example:  $lastnotice(10) returns
  755.           "10:19pm |By-Tor| ~by-tor@by-tor.com |By-tor| yo"
  756.  
  757. Function: $lastmessage()
  758. Usage:    $lastmessage(refnum)
  759. Returns:  the last message recieved or nothing if none
  760. Example:  $lastmessage(10) returns
  761.           10:19pm |By-Tor| ~by-tor@by-tor.com |By-tor| yo
  762.  
  763. Function: $sort()
  764. Usage:    $sort(words and/or numbers)
  765. Returns:  sorts stuff first numerically then alphabetically
  766. Example:  $sort(9 4 1 6 g n r f) returns "1 4 6 9 f g n r"
  767.  
  768. Function: $notify()
  769. Usage:    $notify(on/off/serv #)
  770. Returns:  various info about NOTIFY list
  771. Example:  $notify() returns current notify list
  772.           $notify(on serv 0) returns who is currently ON server #5
  773.  
  774. Function: $numsort()
  775. Usage:    $numsort(words and/or numbers)
  776. Returns:  sorts stuff first alphabetically the numerically
  777. Example:  $numsort(asdf abdr c d 1 2 3 e) returns "abdr asdf c d e 1 2 3"
  778.  
  779. Function: $glob()
  780. Usage:    $glob(path/mask)
  781. Returns:  the list of files in path which match "mask" using glob type
  782.           matching
  783. Example:  $glob(/*lin*) should return vmlinuz if you are ereet and run linux
  784.  
  785. Function: $mkdir()
  786. Usage:    $mkdir(dir)
  787. Returns:  0 if the mkdir was successful, 1 if not
  788. Example:  $mkdir(/usr) returns 1 (unsuccessful)
  789.  
  790. Function: $umask()
  791. Usage:    $umask()
  792. Returns:  Sets the default umask for file creation
  793. Example:  
  794.  
  795. Function: $help()
  796. Usage:    $help(help)
  797. Returns:  the bX /bhelp for "help"
  798. Example:  $help(help) returns:
  799.           "[∞] Help on Topic: help"
  800.           "   Usage: /BHelp <Topic|Index>"
  801.           "     Topic - This gives help on <Topic>"
  802.           "     Index - This shows the list of commands supplied in BitchX"
  803.  
  804. Function: $isuser(nick userhost)
  805. Usage:    $isuser(nick userhost)
  806. Returns:  given a nick (or *) and a user@host (any wildcard form), the
  807.           corresponding userlist information if a match is found.
  808. Example:  $isuser(* edwards@*.sympatico.ca) returns
  809.           "USER 100 1 1 *edwards@*.sympatico.ca #bitchx" on my machine
  810.  
  811. Function: $isban()
  812. Usage:    $isban(channel ban)
  813. Returns:  1 if the ban matches a shitlist ban entry (3 or 4), 0 if not
  814. Example:  $isban(#bitchx *!*@*mirc*) returns 1 ;)
  815.  
  816. Function: $banonchannel()
  817. Usage:    $banonchannel(channel ban)
  818. Returns:  0 if the ban does not exist on the channel, 1 if it does
  819. Example:  $banonchannel(#bitchx *!*@*mirc*) returns 1 ;)
  820.  
  821. Function: $isop()
  822. Usage:    $isop(channel nick)
  823. Returns:  1 if the nick is an op in both your userlist for the channel AND an
  824.           op on the channel, 0 otherwise.
  825. Example:  $isop(#bitchx panasync) returns 1
  826.  
  827. Function: $isvoice()
  828. Usage:    $isvoice(channel nick)
  829. Returns:  1 if the nick is +v, 0 if not.
  830. Example:  $isvoice(#bitchx panasync) returns 0
  831.  
  832. Function: $randomnick()
  833. Usage:    $randomnick()
  834. Returns:  a random nick
  835. Example:  $randomnick() returned "tqfftjg" one time
  836.  
  837. Function: $cparse()
  838. Usage:    $cparse(text)
  839. Returns:  "text" with the ANSI codes substituted for the ANSI parse vars.
  840. Example:  /do echo $cparse("%Rthis is bright red")
  841.  
  842. Function: $getreason()
  843. Usage:    $getreason(text)
  844. Returns:  a random reason from BitchX.reasons
  845. Notes:    you MUST use some argument for this, or it returns nothing.
  846. Example:  $getreason(asdf) returned
  847.           "When faith is lost, when honor dies, The man is dead!"
  848.  
  849. Function: $chmod()
  850. Usage:    $chmod(file numeric-mode)
  851. Returns:  0 if a successful, -1 if not
  852. Example:  $chmod(.BitchX/BitchX.quits 666) returns 0 and sets the permissions
  853.           of the file to "666" or "-rw-rw-rw-"
  854.  
  855. Function: $twiddle()
  856. Usage:    $twiddle(arg)
  857. Returns:  the expanded variable "arg"
  858. Example:  $twiddle(~) returns "/home/by-tor"
  859.           $twiddle($HOME) returns "/home/by-tor"
  860.  
  861. Function: $uhost()
  862. Usage:    $uhost(nick)
  863. Returns:  the user@host of nick
  864. Notes:    it is CASE SENSITIVE
  865. Example:  $uhost(mr_bill) returns fat@greased.up.pig.org =]
  866.  
  867. Function: $numdiff()
  868. Usage:    $numdiff(num1 num2)
  869. Returns:  the difference of num1 and num2
  870. Example:  $numdiff(5 4) returns "1"
  871.  
  872. Function: $winvisible()
  873. Usage:    $winvisible(winnum)
  874. Returns:  1 of the window is visible, 0 if not and -1 if it does not exist
  875. Example:  $winvisible(1) returns 1
  876.           $winvisible(0) returns 1
  877.           $winvisible(11111111111111111111) returns -1
  878.  
  879. Function: $mircansi()
  880. Usage:    $mircansi(text with lame mirc color codes)
  881. Returns:  the given text with ANSI color substituted for mirc color
  882. Example:  $mircansi(3asdf) returns the same color as $cparse(%gasdf)
  883.  
  884. Function: $winrefs()
  885. Usage:    $winrefs()
  886. Returns:  the window numbers in the order they were last active, from current
  887.           to last
  888. Example:  $winrefs() returned "3 2 1" when i used it
  889.  
  890. Function: $getenv()
  891. Usage:    $getenv(var)
  892. Returns:  the environment variable "var"
  893. Notes:    do NOT use a $
  894. Example:  $getenv(HOME) returns "/home/by-tor"
  895.  
  896. Function: $gethost(nick)
  897. Usage:    $gethost(nick)
  898. Returns:  the user@host of the given nick
  899. Notes:    NOT case sensitive
  900. Example:  $gethost(piker) returns loser@efnet.opers.org :)
  901.  
  902. Function: $aliasctl()
  903. Usage:    $aliactl(alias|assign get|set|match <lval> [<rval>])
  904. Notes:    This function allows low-level manipulation of aliases and assigns.
  905.           The noun of the action is either "alias" or "assign".  The verb is
  906.           either "get", "set", or "match".  The "lval" must a valid variable
  907.           name. The "rval" is used only if the verb is "set", and is any
  908.           sequence of octets.
  909.  
  910.           * The "GET" verb allows you to retrieve the value of an alias or
  911.           assign named by "lval".
  912.           * The "SET" verb allows you to set the value of an alias or assign
  913.           named by "lval" to "rval".
  914.           * The "MATCH" verb allows you to retrive the list of all same-level
  915.           variable names that begin with "lval" (ie, command completion).
  916.           Wildcards are not allowed, but the simple use of a single asterisk
  917.           is allowed to match all assigns or aliases.
  918. Example:  $aliasctl(alias get join) returns current value of alias "join"
  919.           $aliasctl(alias set join //channel) sets an alias called "join"
  920.           $aliasctl(assign match foo) returns all vars starting with "foo"
  921.           $aliasctl(alias match foo.) returns all aliases of "foo" struct
  922.  
  923. Function: $statsparse()
  924. Usage:    $statsparse(status vars)
  925. Returns:  the status vars expanded, formatted and everything :)
  926. Example:  $statsparse(%M) returns "mail: 7" when i ran it
  927.  
  928. Function: $absstrlen()
  929. Usage:    $absstrlen(text)
  930. Returns:  the absolute length of text, which is how long it would be on your
  931.           screen
  932. Example:  $absstrlen($cparse(%Fasdf)) returns 4, where
  933.           $strlen($cparse(%Fasdf)) returns 12
  934.  
  935. Function: $findw()
  936. Usage:    $findw(word string of text)
  937. Returns:  the index of the first occurrence of "word" in the string of text
  938. Notes:    the first word is index 0
  939. Example:  $findw(word there is a word in here somewhere) returns 3
  940.  
  941. Function: $countansi()
  942. Usage:    $countansi(text)
  943. Returns:  the number of ansi-color related chars in the string
  944. Example:  $countansi($cparse(%B)) returns 11
  945.  
  946. Function: $longip()
  947. Usage:    $longip(dotted.quad.ip)
  948. Returns:  the "long" form of the given IP
  949. Example:  $longip(127.0.0.1) returns 2130706433
  950.  
  951. Function: $status()
  952. Usage:    $status(winref# statusline#)
  953. Returns:  The Status line # of the window
  954. Example:  /eval echo $status(0 1)
  955.  
  956. Function: $getvar()
  957. Usage:    $getvar(alias)
  958. Returns:  The given alias
  959. Example:  /eval echo $getvar(kb)
  960.  
  961. Function: $openserver()
  962. Usage:    $openserver(servername port)
  963. Returns:  File descriptor or -1
  964.  
  965. Function: $closeserver()
  966. Usage:    $closeserver(number_of_open_socket)
  967. Returns:  The socket number
  968.  
  969. Function: $readserver()
  970. Usage:    $readserver(socket_num)
  971. Returns:  -1 if socket returns an error or it doesn't exist
  972.           or
  973.           the passed socket number plus any info read from the socket
  974.  
  975. Function: $writeserver()
  976. Usage:    $writeserver(socket_num text)
  977. Returns:  Length written or -1, Never returns 0
  978. Note:     "\n" is appended to the end.
  979.  
  980. Function: $addtabkey()
  981. Usage:    $addtabkey(nick array)
  982. Returns:  nothing
  983.  
  984. Function: $gettabkey()
  985. Usage:    $gettabkey(direction array)
  986. Returns:  The tabkey list
  987. Example:  /eval echo $gettabkey(1)
  988.  
  989. Function: $umode()
  990. Usage:    $umode(server_number)
  991. Returns:  returns the umode on that server or current server if no number given
  992.  
  993. Function: $bcopy()
  994. Usage:    $bcopy(num num)
  995. Returns:  1 on error, 0 on success
  996. Note:     Binary copy a file.  Takes two numbers.  Both have to be open 
  997.           file descriptors from $open()
  998.  
  999. Function: $cluster()
  1000. Usage:    $cluster(host)
  1001. Returns:  proper string for a ban
  1002. Example:  $cluster(power@power.zepa.net)
  1003.  
  1004. Function: $channelmode()
  1005. Usage:    $channelmode(#chan1 #chan2 #chan3)
  1006. Retuens:  channel modes of the specified channels on the current window
  1007.  
  1008. Function: $translate()
  1009. Usage:    $translate()
  1010. Example:  $translate(/ //text)
  1011. Note:     translates characters in a str
  1012.           See $tr() also.
  1013.  
  1014. Function: $server_version()
  1015. Usage:    $server_version(open_server_number)
  1016. Returns:  Server version, or "Unknown"
  1017.  
  1018. Function: $trunc()
  1019. Usage:    $trunc(num_of_digits number)
  1020. Returns:  number truncated to num_of_digits
  1021. Example:  /do echo $trunc(5 7819263864) returns 7819263864.00000
  1022.  
  1023. Function: $country()
  1024. Usage:    $country(CA) or $country(hostname)
  1025. Returns:  country of origin.
  1026. Example:  /eval echo $country(ca)
  1027.           /eval echo $country(ppp713.iameleet.kw)
  1028.  
  1029. Funtion:  $line()
  1030. Usage:    $line(number)
  1031. Returns:  The line number in your scroll back buffer, line 1 being the 
  1032.           last line said in the window.
  1033. Example:  /eval echo $line(4)
  1034.  
  1035. Function: $longcomma()
  1036. Usage:    $longcomma(number)
  1037. Returns:  The number given formatted with commas.
  1038. Example:  /eval echo $longcomma(10000) returns 10,000.
  1039.  
  1040. Function: $dccitem([number] [#number])
  1041. Usage:    For dccitem: $dccitem(dcc_item_number)
  1042.           For socketnum: $dccitem(#dcc_socket_number)
  1043. Returns:  Information based on the passed dcc number or socket number.
  1044.         $0 type
  1045.         $1 nick
  1046.         $2 status
  1047.         $3 start time
  1048.         $4 start posistion (for resume/reget resend)
  1049.         $5 bytes received
  1050.         $6 bytes sent
  1051.         $7 filesize
  1052.         $8 filename
  1053.         $9 socket number of this connection
  1054.         $10 server
  1055. Example:  /eval echo $dccitem(4) returns info on open dcc #4.
  1056.           /eval echo $dccitem(#7) returns into on open dcc socket #7.
  1057.  
  1058. Function: $winitem(num)
  1059. Usage:    $winitem(num) for info on window 'num'.
  1060.         $0 refnum
  1061.         $1 name or <none>
  1062.         $2 server num
  1063.         $3 current chan or <none>
  1064.         $4 query nick or <none>
  1065.         $5 waiting channel or <none>
  1066.         $6 <none> openirc has menu name
  1067.         $7 1=visible 0=non-visible
  1068.         $8 num of columns
  1069.         $9 num of rows
  1070.         $10 reserved
  1071.         $11 reserved
  1072.         $12 reserved
  1073.         $13 reserved
  1074.         $14 reserved
  1075.         $15 logfile name or <none>
  1076.         $16 L=logging on - "" always a part of string
  1077.         $17 n=nicklist
  1078.         $18 reserved
  1079.         $19 reserved
  1080.         $20+ window level
  1081. Example:  /eval echo $winitem(1) returns:
  1082.         1 <none> 0 #BitchX <none> <none> <none> 1 79 25 <none> <none>
  1083.             <none> <none> <none> <none> "" "" <none> <none> NONE
  1084.  
  1085. Function: $chanmode(#chan num)
  1086. Usage:    $chanmode(#chan num) - 'num' can be one of 0=normal, 1=bans,
  1087.           2=ban whoset time, 3=exemptions for TS4.
  1088. Example:  /do echo $chanmode(#BitchX 1) returns "*!*@*.aol.com"
  1089.           /do echo $chanmode(#BitchX 2) returns "*!*@*.aol.com power 7812"
  1090.  
  1091. Function: $channicks(#chan sort_type)
  1092. Usage:    $channicks(#chan sort_type) - 'sort_type' can me one of:
  1093.           0=normal, 1=none, 2=nick, 3=host, 4=time, 5=ip (if available)
  1094. Example:  /eval echo $channicks(#BitchX) returns nicks on #BitchX
  1095.           /eval echo $channicks(#BitchX 3) returns nick on #BitchX
  1096.             sorted by host.
  1097.  
  1098. Function: $topic(#channel)
  1099. Usage:    $topic() or $topic(#channel)
  1100. Example:  /eval echo $topic() returns topic on current channel.
  1101.           /eval echo $topic(#BitchX) returns topic on #BitchX.
  1102.  
  1103.