| [5700] | 1 | A VERY ABBREVIATED INTRO TO IRK | 
|---|
 | 2 | =============================== | 
|---|
 | 3 |  | 
|---|
 | 4 | All IRK commands are found within the ::irk namespace. | 
|---|
 | 5 |  | 
|---|
 | 6 | To open a connection with an IRC server, use: | 
|---|
 | 7 |  | 
|---|
 | 8 |    set conn [irk::connect twisted panda1] | 
|---|
 | 9 |  | 
|---|
 | 10 | This opens a connection to the server named 'twisted' (This is | 
|---|
 | 11 | actually the server twisted.ma.us.dal.net) with the nickname | 
|---|
 | 12 | 'panda1'. It also saves the connection token in the variable 'conn' | 
|---|
 | 13 | for later use. | 
|---|
 | 14 |  | 
|---|
 | 15 | If you're behind a SOCKS5 firewall, you can configure IRK to use a | 
|---|
 | 16 | SOCKS5 proxy: | 
|---|
 | 17 |  | 
|---|
 | 18 |    irk::config -sockproxy <proxyhost> -sockport <port> | 
|---|
 | 19 |  | 
|---|
 | 20 | Do this before attempting to open connections to servers outside the | 
|---|
 | 21 | firewall. After this step all communication with remote IRC servers | 
|---|
 | 22 | goes through the SOCKS5 proxy. At present it is not possible to have | 
|---|
 | 23 | connections simultaneously to IRC servers inside and outside the firewall. | 
|---|
 | 24 |  | 
|---|
 | 25 | You can open any number of connections to different servers at the | 
|---|
 | 26 | same time, limited only by the resources available on the host | 
|---|
 | 27 | machine. Most IRC servers disallow opening two or more connections | 
|---|
 | 28 | from the same user to a single server. | 
|---|
 | 29 |  | 
|---|
 | 30 | Next, to join a channel, type: | 
|---|
 | 31 |  | 
|---|
 | 32 |    irk::join $conn #mycoolchannel | 
|---|
 | 33 |  | 
|---|
 | 34 | You can join any number of channels (no limits except those imposed by | 
|---|
 | 35 | the server). | 
|---|
 | 36 |  | 
|---|
 | 37 | To talk to a channel, do: | 
|---|
 | 38 |  | 
|---|
 | 39 |    irk::say $conn #mycoolchannel {Wow, I'm on IRC!} | 
|---|
 | 40 |  | 
|---|
 | 41 | The message "Wow, I'm on IRC!" (without the quotes) is sent to the | 
|---|
 | 42 | channel #mycoolchannel. | 
|---|
 | 43 |  | 
|---|
 | 44 | You can also send a private message to a specific nickname, via: | 
|---|
 | 45 |  | 
|---|
 | 46 |    irk::say $conn somenick {Hey, I'm talking to you} | 
|---|
 | 47 |  | 
|---|
 | 48 | To leave a channel use irk::leave. To close a connection with a server | 
|---|
 | 49 | use irk::close. Read lib/irkcommand.tcl for all the commands | 
|---|
 | 50 | provided. Full documentation will be provided eventually. | 
|---|
 | 51 |  | 
|---|
 | 52 | The above API is likely to be subsumed by a more OO API that will look | 
|---|
 | 53 | something like this: | 
|---|
 | 54 |  | 
|---|
 | 55 |    set conn [irk::connect twisted panda1] | 
|---|
 | 56 |    set mychan [$conn join #mycoolchannel] | 
|---|
 | 57 |    $mychan say {Wow, I'm on IRC!} | 
|---|
 | 58 |    set somenick [$conn user somenick] | 
|---|
 | 59 |    $somenick say {Hey, I'm taling to you} | 
|---|