[TF] IRC macros in TF
Brought to you by:
kenkeys
|
From: renniefan at yahoo.c. (G. Morse) - 2003-04-21 22:19:50
|
Included below are the rather long IRC scripts I'm trying to use to get TF to function as an IRC client. mIRC works, so, I can at least *assume* my firewall settings aren't the problem, it's that there's something wrong with the macros. Here's the series of messages I get when I try to connect to a specific server: :irc.address.net NOTICE AUTH :*** Looking up your hostname... :irc.address.net NOTICE AUTH :*** Found your hostname (cached) :irc.address.net NOTICE AUTH :*** Checking ident... :irc.address.net NOTICE AUTH :*** Checking for open socks server... :irc.address.net NOTICE AUTH :*** No ident response; username prefixed with ~ :irc.address.net NOTICE AUTH :*** No socks server found (good!)... ERROR :Closing Link: [XXX.XXX.XXX.XXX] (Ping timeout) % Connection to address closed by foreign host. I've had it suggested to me (as part of re-configuring my firewall) that I disable any ident checking that I'm running. I don't know what that is, but, when I search for ident in the macro text, it doesn't come up. Any suggestions? I never IRCed before, which helps explain why I'm not sure what's going on with this. ;;; ;;; TF-IRC ;;; ;;; A bunch of TinyFugue scripts to let you IRC using the TinyFugue MUD ;;; client. ;;; ;;; ;;; INSTALLING ;;; ========== ;;; ;;; 1. Create a directory named .tf in your home directory. ;;; ;;; 2. Copy 'irc', 'irc.watch' and 'irc.dcc' to that directory. ;;; ;;; 3. Add a line like this to your .tfrc to load them into TF: ;;; /load -q ~/.tf/irc ;;; ;;; 4. Define your IRC worlds like this in your .tfrc: ;;; /addworld -T"irc" efnet efnet.telstra.net.au 6667 ;;; /addworld -T"irc" oznet aussie.oz.org 6667 ;;; /addworld -T"irc" undernet us.undernet.org 6667 ;;; You can define as many IRC worlds as you like, as long as you ;;; set them all to type "irc". ;;; ;;; 5. At the top of the file 'irc' there are a bunch of variables ;;; you can define, like your IRC nickname, realname, etc. ;;; ;;; ;;; BUGS ;;; ==== ;;; I don't think dcc works at the moment. The watch stuff definately ;;; doesn't work. I'm getting there! This is just a minor project. ;;; ;;; ;;; OTHER STUFF ;;; =========== ;;; ;;; I can be contact at <gos...@te...>. ;;; ;;; Much of my code is available on the web, look for the latest ;;; release of things at: ;;; http://www.tertius.net.au/~gossamer/code/ ;;; ;;; ;;; LEGAL STUFF ;;; =========== ;;; ;;; Copyright (c) 1998 Bek Oberin. All rights reserved. ;;; ;;; This package is free software; you can redistribute it and/or modify ;;; it under the same terms as Perl itself. ; TF-IRC ; IRC handler for TinyFugue. ; ; Last updated by gossamer on Thu Sep 17 18:53:15 EST 1998 ; ; ; Assumes matching is regexp by default ; Requires tf 4.0a1 or above ; ; ; User Config ; ; Nickname /set irc_nick eachna ; Username (bit before the @ in the domain) /set irc_user GwenMOrse ; Realname /set irc_name Gwen Morse ; Signoff comment /set irc_signoff I'm outta here. ; What's returned when somebody asks for your version/finger/userinfo ; via CTCP /set finger_msg Butt-kicking for Goodness. /set userinfo_msg http://www.geocities.com/goldmooneachna/index.html ; Don't change these ones /set version_msg TF-IRC:v0.02:IRC via TinyFugue/Linux /set clientinfo_msg CTCP commands supported - ACTION CLIENTINFO FINGER PING USERINFO VERSION - Client is still under development ; mud or irc /set irc_display_mode mud ; use colours? /set irc_colours on ; ; END User Config ; Anything you change below here is YOUR problem ; /require lisp.tf /require pcmd.tf ;; /require replace.tf (deprecated -- now part of standard lib) /set away_set 0 /if (irc_display_mode =~ "mud") \ /set irc_server_prefix [Server] %;\ /set irc_whois_prefix [Whois] %;\ /set irc_error_prefix Error: %;\ /else \ /set irc_server_prefix *** %;\ /set irc_whois_prefix *** %;\ /set irc_error_prefix *** %;\ /endif ; ; Debug trendy thing - comment out if you aren't debugging, it shows ; all the server messages before processing ... ; It's AWFULLY spammy though ;/def -T"irc.irc" -p999 -F -t"^(.*)$" debug_echo = /echo -w [DEBUG] %P1 ; ; Colours ; /if (irc_colours =~ "on") \ /if (irc_display_mode =~ "mud") \ /def -p100 -T"irc.irc" -F -P1Cgreen -t'^[^ ]* (pages):' IRCmsg%;\ /def -p100 -T"irc.irc" -F -PCgreen -t'^From [^,]*,' IRCotherchan %;\ /def -p100 -T"irc.irc" -F -PCblue -t'^\\[[^ ]+\\]' IRCbox %;\ /def -p100 -T"irc.irc" -F -PBCred -t'^Error: .*$' IRCerror %;\ /def -p100 -T"irc.irc" -F -PCcyan -t'has left.*$' IRCleft %;\ /def -p100 -T"irc.irc" -F -PCcyan -t'has disconnected.*$' IRCdisconn %;\ /def -p100 -T"irc.irc" -F -PCcyan -t'has joined.*$' IRCjoin %;\ /def -p100 -T"irc.irc" -F -PCcyan -t'Users [^:]*:' IRCcontents %;\ /else \ /def -p100 -T"irc.irc" -F -PCgreen -t'>' IRCoutmsg %;\ /def -p100 -T"irc.irc" -F -PCgreen -t'<' IRCinmsg %;\ /def -p100 -T"irc.irc" -F -PCblue -t'^\\*\\*\\*' IRCbox %;\ /endif %;\ /endif ; ; User-entered commands ; ; /join /def -T"irc.irc" join = \ /if ({*} !~ "") \ /send -w JOIN :%*%; \ /eval /set channel_${world_name} %%*%; \ /eval /set irc_channel %%{channel_${world_name}} %;\ /else \ /echo -w -p %%{irc_error_prefix} No channel specified to join!%; \ /endif ; /part or /hop /def -T"irc.irc" hop = \ /part /def -T"irc.irc" part = \ /if ({*} !~ "") \ /send -w PART :%*%; \ /else \ /eval /send -w PART :%%{channel_${world_name}}%; \ /eval /set channel_${world_name}=%;\ /eval /set irc_channel %%{channel_${world_name}} %;\ /endif ; /kick /def -T"irc.irc" kick = \ /eval /send -w KICK %%{channel_${world_name}} %%1 :%%-1 ; /op /def -T"irc.irc" op = \ /eval /send -w MODE %%{channel_${world_name}} +o %%* ; /who /def -T"irc.irc" who = \ /eval /send -w WHO %%{channel_${world_name}} ; /whois /def -T"irc.irc" whois = \ /send -w WHOIS %1 %1 ; /list /def -T"irc.irc" irclist = \ /send -w LIST %1 %1 ; /away /def -T"irc.irc" away = \ /if ({*} !~ "") \ /set away_msg=%* \[$[ftime(abeTZY,time())]\]%; \ /send -w AWAY :%{away_msg}%; \ /set away_set 1%; \ /set away_at $[time()]%; \ /else \ /send -w AWAY%; \ /set away_set 0%; \ /unset away_msg%; \ /unset away_at%; \ /endif ; /ctcp commands /def -T"irc.irc" ctcp = \ /send -w PRIVMSG %{1} :%{-1} /def -T"irc.irc" ctcpr = \ /send -w NOTICE %{1} :%{-1} ; /msg and /amsg (action msg) /def -T"irc.irc" msg = \ /send -w PRIVMSG %{1} :%{-1}%;\ /if (irc_display_mode =~ "mud") \ /echo -w -p @{Cgreen}You page@{n} %{1} with "%{-1}"%;\ /else \ /echo -w -p @{Cgreen}>>%{1}>>@{n} %{-1}%;\ /endif ; pageish version of msg /def -p1 -T"irc.irc" -h'SEND ^\+who$' alias_who2= \ /eval /send -w NAMES %%{channel_${world_name}} /def -p1 -T"irc.irc" -h'SEND ^WHO$' alias_who= \ /eval /send -w WHO %%{channel_${world_name}} /def -p1 -T"irc.irc" -h'SEND ^\+finger (.*)$' alias_finger= \ /eval /send -w WHOIS %P1 %P1 /def -p1 -T"irc.irc" -h'SEND ^p(age)? ([^=]*)=([^:].*)$' alias_msg= \ /msg %P2 %P3 /def -T"irc.irc" amsg = \ /ctcp %{1} ACTION %{-1}%;\ /if (irc_display_mode =~ "mud") \ /echo -w -p @{Cgreen}Long distance to@{n} %{1}: @{BCyellow}%{irc_nick}@{n} %{-1}%;\ /else \ /echo -w -p @{Cgreen}*>>%{1}>>@{n} %{irc_nick} %{-1}%;\ /endif ; pageish version of amsg /def -p1 -T"irc.irc" -h'SEND ^p(age)? ([^=]*)=:(.*)$' alias_amsg= \ /amsg %P2 %P3 ; /ping /def -T"irc.irc" ping = \ /ctcp %{1} PING $[time()] ; /nick /def -T"irc.irc" nick = \ /send -w NICK :%*%;\ /set irc_nick %* ; /topic /def -T"irc.irc" topic = \ /if ({*} !~ "") \ /eval /send -w TOPIC %%{channel_${world_name}} :%%*%; \ /else \ /eval /send -w TOPIC %%{channel_${world_name}}%; \ /endif ; /q /def -T"irc.irc" q = \ /send -w QUIT :%{irc_signoff} ; /ver /def -T"irc.irc" ver = \ /ctcp %* VERSION ; /finger /def -T"irc.irc" finger = \ /ctcp %* FINGER ; ; Server messages - things we ignore ; /def -q -ag -p999 -T"irc.irc" -F -t'^:.+ (315|318|321|323|329|366|369|376|403)' ~ignores ; ctcp sounds /def -q -ag -p520 -T"irc.irc" -F -t'^.+ PRIVMSG .+:SOUND .+' ; ; Server messages - things we just display ; /def -q -p599 -T"irc.irc" -F -t'^:.+ (001|002|003|004|250|251|255|265|266|305|306|368|372|375|377|378|472|257) .+ : ?-? ?(.*)$' ~numbers = \ /substitute %{irc_server_prefix} %P2 /def -q -p599 -T"irc.irc" -F -t'^:.+ (401|402) [^ ]+ ([^ ]+) :?(.+)$' ~numbers3 = \ /substitute %{irc_server_prefix} %P2: %P3 /def -q -p518 -T"irc.irc" -F -t'^:.+ (252|253|254)+ [^ ]+ ([^ ]+) :(.+)$' ~head1= \ /substitute %{irc_server_prefix} %P2 %P3 /def -q -p518 -T"irc.irc" -F -t'^NOTICE [^ ]+ :(.*)$' ~notice= \ /substitute %{irc_server_prefix} %P1 /def -q -p518 -T"irc.irc" -F -t'^NOTICE [^ ]+ :(.*)$' ~notice= \ /substitute %{irc_server_prefix} %P1 /def -q -p518 -T"irc.irc" -F -t'^:([^!]+)![^ ]+ NOTICE [^ ]+ :VERSION (.*)' ~version_reply= \ /substitute %{irc_server_prefix} Version from %P1: %P2 /def -q -p518 -T"irc.irc" -F -t'^:.+ 322 [^ ]+ (#[^ ]+) ([^ ]+) :(.*)$' ~list= \ /substitute %{irc_server_prefix} %P2 %P1 (%P3) /def -q -p518 -T"irc.irc" -F -t'^:.+ 301 [^ ]+ ([^ ]+) :(.*)$' ~away = \ /substitute %{irc_server_prefix} Away message from %P1: %P2 /def -q -p518 -T"irc.irc" -F -t'^:.+ 433 \* ([^ ]+) :Nickname is already in use.' ~badnick =\ /substitute %{irc_error_prefix} Nickname %P1 already in use! /def -q -p518 -T"irc.irc" -F -t'^:.+ 367 .+ .+ (.*) (.*) (.*)$' ~bans = \ /substitute %{irc_server_prefix} Ban: %P1 by %P2 at $[ftime(%c,{P3})] ; somebody joins channel /def -q -p518 -T"irc.irc" \ -F -t'^:([^!]*)!([^ ]*) JOIN [^:]*:(([^.]|[.])*)$' ~join = \ /substitute %P1 (%P2) has joined %P3.%; \ /if ({P1} =~ {irc_nick}) \ /eval /set channel_${world_name} %P3%; \ /eval /set irc_channel %P3 %;\ /endif ; channel names list /def -q -p599 -F -T"irc.irc" \ -F -t'^:[^ ]+[ ]+353(([ ]|[^ ])+)[ ]+([^ ]+)[ ]+[^:]*:(([ ]|[^ ])*)' ~names = \ /if (irc_display_mode =~ "mud") \ /substitute Users on %P3: %P4 %;\ /else \ /substitute %{irc_server_prefix} Users on %P3: %P4 %;\ /endif /def -q -p518 -T"irc.irc" \ -F -t'^:([^!]*)!([^ ]*) QUIT [^:]*:(([^.]|[.])*)$' ~quit = \ /substitute %P1 has disconnected: %P3 ; somebody leaves channel /def -q -p518 -T"irc.irc" \ -F -t'^:([^!]*)!([^ ]*) PART (([^.]|[.])*)$' ~part = \ /substitute %P1 has left %P3.%;\ /if ({P1} =~ {irc_nick}) \ /eval /set channel_${world_name}%; \ /eval /set irc_channel %%{channel_${world_name}}%;\ /endif /def -q -p518 -T"irc.irc" \ -F -t'^:([^!]+)![^ ]+ KICK (#[^ ]+) ([^ :]+) :(.*)$' ~kicked = \ /substitute %{irc_server_prefix} %P3 kicked from %P2 by %P1: %P4%;\ /if ({P3} =~ {irc_nick}) \ /eval /set channel_${world_name}%; \ /eval /set irc_channel %%{channel_${world_name}}%;\ /endif /def -q -p518 -T"irc.irc" -F -t'^:.+ 352 [^ ]+ (#[^ ]+) ([^ ]+) ([^ ]+) [^ ]+ ([^ ]+) ([^ ]+) :[^ ]+ (.*)$' ~ircwho = \ /substitute %P1 $[pad({P4}, -9)] $[pad({P5}, -4)] %P2@%P3 (%P6) /def -q -p518 -T"irc.irc" \ -F -t'^:.+ 311 [^ ]+ ([^ ]+) ([^ ]+) ([^ ]+) .+ :(.+)$' ~iwhois = \ /substitute %{irc_whois_prefix} %P1 is %P2@%P3 (%P4) /def -q -p518 -T"irc.irc" -F -t'^:.+ 319 [^ ]+ [^ ]+ :(.*)$' ~iwhois2 = \ /substitute %{irc_whois_prefix} on channels: %P1 /def -q -p518 -T"irc.irc" -F -t'^:.+ 312 [^ ]+ [^ ]+ ([^ ]+) :(.+)$' ~iwhois3 = \ /substitute %{irc_whois_prefix} on irc via server %P1 (%P2) /def -q -p518 -T"irc.irc" \ -F -t'^:.+ 317 [^ ]+ [^ ]+ ([^ ]+) :seconds idle$' ~iwhois4 = \ /substitute %{irc_whois_prefix} $[{P1} / 60] mins, $[mod({P1},60)] secs idle. /def -q -p518 -T"irc.irc" -F -t'^:.+ 313 [^ ]+ [^ ]+ :(.*)$' ~iwhois5 = \ /substitute %{irc_whois_prefix} IRC Operator. /def -q -p518 -T"irc.irc" \ -F -t'^:.+ 421 [^ ]+ ([^ ]+) :Unknown command$' ~badcommand = \ /substitute %{irc_error_prefix} Unknown command '%P1'. /def -q -p518 -T"irc.irc" \ -F -t'^:.+ 441 [^ ]+ ([^ ]+) ([^ ]+) :isn\'t on that channel$' ~nothere = \ /substitute %{irc_error_prefix} %P1 isn't on channel %P2. /def -q -p518 -T"irc.irc" \ -F -t'^:.+ 401 [^ ]+ ([^ ]+) :is not on IRC' ~noton = \ /substitute %{irc_error_prefix} %P1 isn't on IRC. /def -q -p518 -T"irc.irc" -F -t'^:.+ 317 [^ ]+ [^ ]+ ([^ ]+) ([^ ]+) :seconds idle, signon time' ~iwhois6 = \ /substitute %{irc_whois_prefix} $[{P1} / 60] mins, $[mod({P1},60)] secs idle. Signon at: $[ftime({c},{P2})] ; Speech to channel /def -q -p518 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG (#[^ ]+) :(([^.]|[.])*)$' ~message = \ /if /test tolower({P2}) =~ {channel_${world_name}} %; /then \ /if (irc_display_mode =~ "mud") \ /substitute %P1 says, "%P3"%; \ /else \ /substitute \<%P1\> %P3%; \ /endif %;\ /else \ /if (irc_display_mode =~ "mud") \ /substitute From %P2, %P1 says, "%P3"%; \ /else \ /substitute \<%P1:%P2\> %P3%; \ /endif %;\ /endif ; /me to channel /def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG (#[^ ]+) :ACTION (([^.]|[.])*)$' ~caction = \ /if /test tolower({P2}) =~ {channel_${world_name}} %; /then \ /if (irc_display_mode =~ "mud") \ /substitute %P1 %P3%; \ /else \ /substitute * %P1 %P3%; \ /endif %;\ /else \ /if (irc_display_mode =~ "mud") \ /substitute From %P2, %P1 %P3%; \ /else \ /substitute * %P1:%P2 %P3%; \ /endif %;\ /endif ; self mode change /def -q -p100 -T"irc.irc" -F -t'^:([^ ]+) MODE ([^ ]+) :(.+)$' ~selfmode = \ /substitute %{irc_server_prefix} Mode change \"%P3\" by %P1 ; channel mode change /def -q -p100 -T"irc.irc" \ -F -t'^:([^!]+)(![^ ]+)? MODE (#[^ ]+) (.*)$' ~chmode = \ /substitute %{irc_server_prefix} Mode change \"%P4\" on channel %P3 by %P1 /def -q -p518 -T"irc.irc" -F -t'^:.+ 324 [^ ]+ (#[^ ]+) (.+)$' ~modes = \ /substitute %{irc_server_prefix} Modes on %P1: %P2 /def -q -p517 -T"irc.irc" -F -t'^:([^!]*)[^ ]* NOTICE [^:]*:(([^.]|[.])*)$' ~pnotice = \ /substitute \-%P1\- %P2 /def -q -p518 -T"irc.irc" -F -t'^:([^!]*)[^ ]* NOTICE (#[^:]*):(([^.]|[.])*)$' ~cnotice = \ /substitute \-%P1:%P2\- %P3 /def -q -p519 -T"irc.irc" -F -t'^:([^!]+)![^ ]+ NOTICE [^:]*:([^ ]+) (([^.]|[.])+)$' ~creply = \ /substitute %{irc_server_prefix} CTCP %P2 reply from %P1: %P3 ; ping reply /def -q -p520 -T"irc.irc" -F -t'^:([^!]+)![^ ]+ NOTICE [^:]* :PING (([^.]|[.])+)$' ~preply = \ /substitute %{irc_server_prefix} Ping reply from %P1: $[(time() - %P2) / 60] mins, $[mod(time() - %P2,60)] secs /def -q -p100 -T"irc.irc" -F -t'^:([^!]+)![^ ]+ NICK [^:]*:(([^.]|[.])+)$' ~nickchng = \ /substitute %{irc_server_prefix} %P1 is now known as %P2 /def -q -p520 -T"irc.irc" -F -t'^:([^!]+)![^ ]+ TOPIC ([^ ]+) :(([^.]|[.])+)$' ~topic3 = \ /substitute %{irc_server_prefix} %P1 set the topic on %P2 to: %P3 /def -q -p518 -T"irc.irc" -F -t'^:.+ 332 .+ (#[^ :]+) :(([^.]|[.])+)$' ~topic = \ /substitute %{irc_server_prefix} Topic for %P1: %P2 /def -q -p518 -T"irc.irc" -F -t'^:.+ 333 .+ #[^ ]+ ([^ ]+) (.+)$' ~topic2 = \ /substitute %{irc_server_prefix} Last set by %P1 at: $[ftime({c},{P2})] ; ; Server things we reply to ; ; server pings /def -q -ag -p518 -T"irc.irc" -F -F -t'^PING :(([ ]|[^ ])+)$' ~ping = \ /send -w PONG %P1 ; ctcp request /def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:VERSION$' ~cversion = \ /substitute [TFIRC] %P1 has requested your VERSION.%;\ /ctcpr %P1 VERSION %{version_msg} /def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:TIME$' ~ctime = \ /substitute [TFIRC] %P1 has requested your TIME.%;\ /ctcpr %P1 TIME $[ftime(%c,time())] /def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:FINGER$' ~cfinger = \ /substitute [TFIRC] %P1 has requested your FINGER.%;\ /ctcpr %P1 FINGER %{finger_msg} /def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:USERINFO$' ~cuserinfo = \ /substitute [TFIRC] %P1 has requested your USERINFO.%;\ /ctcpr %P1 USERINFO %{version_msg} /def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:CLIENTINFO' ~cclientinto = \ /substitute [TFIRC] %P1 has requested your CLENTINFO.%;\ /ctcpr %P1 CLIENTINFO %{version_msg} ;/def -q -p519 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:(VERSION|FINGER|USERINFO|CLIENTINFO)' ~cversion = \ ; /substitute [TFIRC] %P1 has requested your %P2.%;\ ; /ctcpr %P1 %P2 %{version_msg} ; /msg to us /def -q -p517 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:(([^.]|[.])*)$' ~pmessage = \ /if (irc_display_mode =~ "mud") \ /substitute %P1 pages: %P2%;\ /else \ /substitute <<%P1<< %P2 %; \ /endif%;\ /if ({away_set}) \ /~away_idle%; \ /send -w NOTICE %P1 :Away: %{away_msg} \[%{away_from}\]%; \ /substitute $[ftime("[%H:%M:%S]",time())] Away message sent to %P1.%; \ /endif ; /amsg to us /def -q -p518 -T"irc.irc" -F -t'^:([^!]*)[^ ]* PRIVMSG [^:]*:ACTION (([^.]|[.])*)$' ~paction = \ /if (irc_display_mode =~ "mud") \ /substitute From afar, %P1 %P2%;\ /else \ /substitute *<<%P1 %P2 %; \ /endif ; /if (%{away_set}) \ ; /~away_idle%; \ ; /send -w NOTICE %P1 :Away: %{away_msg} \[%{away_from}\]%; \ ; /substitute $[ftime("[%H:%M:%S]",time())] Away message sent to %P1.%; \ ; /endif ; update /away info /def ~away_idle = \ /if ((time() - %{away_at}) > 3600)%; \ /set away_from=$[(time() - %{away_at}) / 3600]h$[mod((time() - %{away_at}),3600) / 60]m%; \ /else \ /set away_from=$[(time() - %{away_at}) / 60]m%; \ /endif ; pings from ordinary mortals /def -q -p520 -T"irc.irc" -F -t'^:([^!]+)![^ ]+ PRIVMSG [^:]* :PING (.+)$' ~cping = \ /send -w NOTICE %P1 :PING %P2 %;\ /substitute %{irc_server_prefix} %P1 pinged you. ; ; Hooks ; ; /say and " /def -T"irc.irc" say = \ /if /test {channel_${world_name}} !~ ""%; /then \ /eval /send -w PRIVMSG %%{channel_${world_name}} :%%*%; \ /if (irc_display_mode =~ "mud") \ /echo -w -p @{BCyellow}You@{n} say, "%*"%; \ /else \ /echo -w -p @{BCyellow}<%{irc_nick}>@{n} %*%; \ /endif %;\ /else \ /echo -w -p %{irc_error_prefix} You're not on a channel!%; \ /endif ; " version of say /def -p1 -T"irc.irc" -h'SEND ^\"(.*)' alias_say= \ /say %P1 ; /me and : /def -T"irc.irc" me = \ /if /test {channel_${world_name}} !~ ""%; /then \ /eval /ctcp %%{channel_${world_name}} ACTION %*%;\ /if (irc_display_mode =~ "mud") \ /echo -w -p @{BCyellow}%{irc_nick}@{n} %*%; \ /else \ /echo -w -p @{Cgreen}* @{BCyellow}%{irc_nick}@{n} %*%; \ /endif %;\ /else \ /echo -w -p %{irc_error_prefix} You're not on a channel!%; \ /endif ; : version of /me /def -p1 -T"irc.irc" -h'SEND ^\:([^ ].*)' alias_action= \ /me %P1 /def -T"irc.irc" -F -hWORLD -p999 IRCworld_hook = \ /set lp=0 ;;/eval /load -q %{HOME}/.tf/irc.watch ;;/eval /load -q %{HOME}/.tf/irc.dcc ; Send connect stuff when we connect /def -T"irc.irc" -hCONNECT -p999 ~irc_login_hook = \ /send -w PASS foobar%; \ /send -w NICK %{irc_nick}%; \ /send -w USER %{irc_user} foo foo :%{irc_name}%; \ /send -w MODE %{irc_nick} +i%; \ /if (away_set) \ /send -w AWAY :%{away_msg}%; \ /endif%;\ /world %1 ; Unset channel when we disconnect /def -T"irc.irc" -hDISCONNECT -p999 ~irc_logout_hook = \ /unwatch -a%;\ /kill %{watch_pid}%;\ /eval /set channel_${world_name}= __________________________________________________ Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo http://search.yahoo.com |