isban [channel] matchban [channel] isvoice onchan chanbans getchanhost onchansplit chanlist getchanmode maskhost ctime [Jeks(dcc)] .tcl return [expr 1 + 1] :/set bot_tcl_command 1/0 ForChannelOps #channel -minlevel -maxlevel command ForChannelNOps #channel -minlevel -maxlevel command inAway (if your away return 1) [noob(dcc)] this is how the raw server data is handles [noob(dcc)] and if the raw numeric is specified [noob(dcc)] i.e. [noob(dcc)] proc RAW_KICK { level } \ [noob(dcc)] { [noob(dcc)] Echo [TopChannel] "blah" \[\04FunScript\04\] [noob(dcc)] } [noob(dcc)] proc RAW_303 { level } \ [noob(dcc)] { [noob(dcc)] Echo "this that the other thing" blah [noob(dcc)] } [noob(dcc)] then when the server replys a 303 [noob(dcc)] /echo (blue)blah(blue) this that the other thing [noob(dcc)] via proc name [noob(dcc)] TCL's sockets are shitty [noob(dcc)] SockCreate socketname function blah blah [noob(dcc)] proc PARTY {} \ [noob(dcc)] { [noob(dcc)] set nErrCode [catch {SockCreate party "party " 1093 1 13}] [noob(dcc)] if { $nErrCode == 0 } \ [noob(dcc)] { [noob(dcc)] global party [noob(dcc)] set party "ON" [noob(dcc)] Echo [MyNick] "Partyline Socket created..." PARTY! [noob(dcc)] SockListen party 3 [noob(dcc)] if { $nErrCode != 0 } \ [noob(dcc)] { [noob(dcc)] Echo [MyNick] "Can't listen with socket party" PARTY! [noob(dcc)] } else \ [noob(dcc)] { [noob(dcc)] Echo [MyNick] "Partyline now active with socket party. To disable type /noparty" PARTY! [noob(dcc)] } [noob(dcc)] } [noob(dcc)] } else \ [noob(dcc)] { [noob(dcc)] Echo [MyNick] "Can't create socket" PARTY! [noob(dcc)] } [noob(dcc)] Complete [noob(dcc)] } [noob(dcc)] as u see... an alias is proc NAME(all caps) [noob(dcc)] it will listen to a socket at port 1093 [noob(dcc)] if its able to create the socket sucsessfully it returns a 1 [noob(dcc)] i mean it sets nerrcode to 0 [noob(dcc)] otherwise it says cant listen with socket [noob(dcc)] and when u type /pass [noob(dcc)] it exicutes that proc [noob(dcc)] and u are then listening to port 1093 [noob(dcc)] and the socket name is party [noob(dcc)] for every connection u would need this... [noob(dcc)] a onACCEPT [noob(dcc)] proc onACCEPT_party { name nErrCode } \ [noob(dcc)] { [noob(dcc)] global last [noob(dcc)] set last "" [noob(dcc)] global user [noob(dcc)] incr user [noob(dcc)] global user_$user [noob(dcc)] set user_$user "1" [noob(dcc)] set $name party [noob(dcc)] Echo [MyNick] "hmm $name connected to partyline server1" [noob(dcc)] SockAccept "user_$user" $name [noob(dcc)] if { $nErrCode != 0} { Echo [MyNick] "Problem with SockAccept " } [noob(dcc)] Echo [MyNick] "\01A new user joined the partyline. This is user $user\01" [noob(dcc)] PostMsg "PAR user_$user@[SockRemoteIP $name] joined the partyline!" [noob(dcc)] SockSendT user_$user "\04Current commands are:\n" [noob(dcc)] SockSendT user_$user ".\02me\02 - action on partyline\n" [noob(dcc)] SockSendT user_$user ".\02nick\02 - change partyline ID\n" [noob(dcc)] SockSendT user_$user ".\02quit\02 - left on partyline\n" [noob(dcc)] SockSendT user_$user ".\02MSG\02 - Sends a msg to nick\n" [noob(dcc)] SockSendT user_$user ".\02WHOM\02 - Tells you who is connected\n" [noob(dcc)] SockSendT user_$user ".\02DIE\02 - Kills the partyline\n" [noob(dcc)] SockSendT user_$user ".\02PING\02 - Checks for lag\n" [noob(dcc)] SockSendT user_$user ".\02BOOT\02 - Kicks a nick off the partyline\n" [noob(dcc)] SockSendT user_$user "*** \04if u have more command ideas try \02noob@america.com\02\04 *** \n" [noob(dcc)] SockSendT user_$user "If you want to exit... Type .quit reason to quit. Type .help for all commands. \n" [noob(dcc)] SockSendT user_$user "\02Type \".nick \", Must be within 9 letters.\n" [noob(dcc)] Complete [noob(dcc)] } [noob(dcc)] that changes the sepcific's socket to its own socketname [noob(dcc)] that way u can have more then 1 connection at your port [noob(dcc)] and a SockClose [noob(dcc)] and a SockCloseAll [noob(dcc)] will be needed [noob(dcc)] a [SockLine $name] would be the last text recieved from socket $name [_jeks_(~jeks@msiw34.msi.se)] then you should check out ftp://ftp.neosoft.com/pub/tcl/NEW there is a file called tcl7.5p1plus.patch.gz .. use that.. [_jeks_(~jeks@msiw34.msi.se)] then you can add a Tcl_InitIndependant (or sumthing) to make the bin completly independant from any tcl libs installed on the system.. [_jeks_(~jeks@msiw34.msi.se)] great if you want to make a bin distrib.. then it doesn't care wether tcl is installed or not.. you could mail liotta@hotmail.com ..! 2. kwak (Sep 25 23:42): abnout the [ircii args] function, I think I need it to send to the tcl interpreter instead of the screen, or maybe there should be a parameter to it.. like [ircii -console args] to put it to screen.. Cause If I need a var it can't be done.. like "/tcl set ircii-setlist [ircii set] it only puts to screen not to the var.. it is very important that it does. 3. kwak (Sep 25 23:43): cause then you can put some params from ircii to the tcl.. like "/tcl set color1 [ircii eval echo ${C1}] or whatever..