Metropoli BBS
VIEWER: extras.irc MODE: TEXT (ASCII)
### EXTRAS.IRC by Vassago for use with PhoEniX Version 2.05.

EVAL if ([$ex] == []) {^assign ex [E/X]}

EVAL echo $ex Loading Vassago's EXTRAS.IRC script...

assign mail_pgm mail
alias pecho {^xecho -level crap $ex $0-}

# Try changing this to a closer machine (or your own machine) if 
# /dcc mail doesn't work right.

assign MAILMACHINE cs.bu.edu

on ^exec "maildata *" {//^dcc raw $MAILSOCKET $MAILMACHINE $1-}

alias dccmail {
  if ((rmatch($0 *@*.*))&&(rmatch($1 *@*.*))) {
	 EVAL ^Userhost $N -CMD if ([$3]) {^assign MYHOST $4}
	 wait
	/echo $ex Connecting to port 25 of $MAILMACHINE\.
	 EVAL ^assign MAILSOCKET $connect($MAILMACHINE 25)
	 //^dcc raw $MAILSOCKET $MAILMACHINE helo $MYHOST
	 /echo $ex Hello, $MYHOST \(from $MAILMACHINE\).
	 //^dcc raw $MAILSOCKET $MAILMACHINE mail from: <$0>
	 //^dcc raw $MAILSOCKET $MAILMACHINE rcpt to: <$1>
	 //^dcc raw $MAILSOCKET $MAILMACHINE data
	 //^dcc raw $MAILSOCKET $MAILMACHINE To: <$1>
	 if ([$3]) {//^dcc raw $MAILSOCKET $MAILMACHINE Subject: $3-}
	{//^dcc raw $MAILSOCKET $MAILMACHINE Subject: PhoEniX DCC MAIL message}
	 //^dcc raw $MAILSOCKET $MAILMACHINE  
	 EVAL ^assign RFILE temp$rand(99999999)
	 exec -name copy cp $2 $RFILE
	 wait %copy
	 exec -name echo echo "." >>$RFILE
	 wait %echo
	 exec -name echo echo "quit" >>$RFILE
	 wait %echo
    /echo $ex Mailing $2\.
    ^exec -name maildata cat $RFILE
    EVAL ^on ^dcc_raw "$MAILSOCKET $MAILMACHINE C*" {
	 /echo $ex Connection closed, mail has been sent.
	 EVAL ^on dcc_raw - "$0 $1 C*"
	 exec $RMCOMMAND $RFILE
	 ^assign -RFILE
	 }
    ^assign -MAILSOCKET
    ^assign -MYHOST
    }
    {
	 /echo $ex Usage: /DCCMAIL <from@address> <to@address> <file> [<subject>]
	 /echo $ex <from@address> is the address the mail will be from, <to@address>
	 /echo $ex is the recipient of the message, <file> is an ascii file containing what
	 /echo $ex to mail, and <subject> is the subject of the message.
    }
}

### UUMAIL Alias (by CKeeper, Mods by Vassago)

alias uumail {
   if ([$0]) {
	^assign MAILFILE $1-
	if (rmatch($0 *@* *!*)) {
	EVAL exec uuencode $MAILFILE $MAILFILE | mail $safe($0)
	EVAL /pecho Mailed $MAILFILE to $safe($0) \(uuencoded\).
	^assign -MAILFILE
	}
	{
	  ^Userhost $0 -CMD if ([$4]!=[<UNKNOWN>]) {
	  ^assign mail_to $safe($3)@$4
	  EVAL exec uuencode $MAILFILE $MAILFILE | mail $mail_to
	  EVAL /pecho Mailed $MAILFILE to $mail_to \(uuencoded\).
	  ^assign -MAILFILE
	  ^assign -mail_to
	}  
	{/pecho I can't find $0 on IRC.}
	}
   }
   {/pecho Usage: /UUMAIL <nick/address> <file>}
}

### Server WALLOPS (by Ckeeper)

alias wallops {
  if ([$2]) {/pecho No spaces are allowed in the WallOps message.}
  {
    if (rmatch($0 *.*)) { 
	  ^on ^dcc_raw "*" #
	  ^set display OFF
	  EVAL ^assign SERVPID $connect($0 6667)
	  ^set display ON
	  EVAL //^dcc raw $SERVPID $0 SERVER $1 # # :PhoEniX WallOps
	  //^dcc close raw $SERVPID
	  ^assign -SERVPID
	  ^on dcc_raw - "*"
	  /pecho Sent wallops to server $0\.
    }
    {/pecho Usage: /wallops <server> <message>.}
  }
}

### LINKS Beautifier (by TG)

alias links {
  ^assign -lcounter
  ^assign -lserver
  ^assign -lclass
   @ lcounter = 1
  /pecho  No. Distance    Server               Uplink
  ^on ^364 "*" {
    ^assign lserver $stu($1)
    ^assign lclass $3
    ^assign llink $stu($2)
	 /pecho \($[-3]lcounter\)  \($[-3]lclass\) $[-25]lserver\ \[$llink\]
	 @ lcounter = lcounter + 1
    }
   //links $0
  ^on ^365 "*" {^on ^364 -*;^on ^365 -*}
}

alias stu {
	if ([$right(13 $0)] == [.undernet.org]) {
		@ tmp = left($rindex(. $0) $0)
		@ function_return = left($rindex(. $tmp) $tmp)
	} { @ function_return = [$0] }
}

alias rmail {
   /echo $ex Engaging MAIL reading Window...
   ^window new name MyMail
   ^window scroll on
   ^set hold_mode off
   ^window level none
   ^exec -window -name MyMail $mail_pgm
   ^query %MyMail
   ^on ^exec_exit MyMail {
	/echo $ex Closing MAIL reading Window.
	^window show $mail_pgm kill
   }
}

### MassInvite Command (by Vassago)

alias massinv {
  if ([$0]) {
	^assign masschan $0
	/pecho Massinviting everyone on $masschan to $C\, please wait...
	^on ^names "*" massinv2 $$1-\;^on ^names -*
	 names $masschan
  }
  {
	/pecho Usage: /MASSINV <#channel> where <#channel> is the
	/pecho channel you wish to invite to your current channel.
  }
}

alias massinv2 {
  if ([$0]!=[@] ## N) {
    ^invite $strip(@+ $0) $C
	wait
  }
  if ([$1]) {/massinv2 $1-}
  {/pecho Everyone on channel $masschan has been invited to $C\.}
}

### Dictionary Command - Lets you use Webster's Online Dictionary

alias dict {
if (![$0])
 {
 /echo $ex USE: /dict <any English word>
 /echo $ex This will connect you to a database and retrieve Webster's
 /echo $ex definition of the word you have specified. You cannot issue
 /echo $ex another /dict <word> command before the complete definition
 /echo $ex for the first word is retrieved. If you wish to do so, you
 /echo $ex must cancel the first request with /closedict and re-issue
 /echo $ex another /dict <word> call.  Note that you are not the only
 /echo $ex user to connect to the database - retrieving the definition
 /echo $ex of a word may take a while.
 }
    {
	^on ^exec "DICT Trying 129.79.254.195 ..." #
	^on ^exec "DICT Trying 129.79.254.195..." #
	^on ^exec "DICT Trying grouchy.cs.indiana.edu ..." #
	^on ^exec "DICT Trying grouchy.cs.indiana.edu..." #
	^on ^exec "DICT Connected to grouchy.cs.indiana.edu." #
	^on ^exec "DICT Connected to 129.79.254.191." #
	^on ^exec "DICT DEFINITION %" #
	^on ^exec "DICT *" {/echo $ex $1-}
	^on ^exec "DICT Escape character is '^]'." {
	exec -in %DICT DEFINE $dictword
	}
	^on ^exec "DICT ?" {//exec -9 %DICT}
	^on ^exec_prompt "DICT *" {/exec -9 %DICT}
	^on ^exec "DICT ?DEFINITION 0" {//exec -9 %DICT}
	^on ^exec_prompt "DICT telnet>" {
	/echo $ex There seems to be a problem with the Webster Database.
	/echo $ex Try to reissue /dict <word> command another time.
	//exec -CLOSE %DICT
	}
    @dictword = [$0-]
    /echo $ex Retrieving definition for: $dictword (4 minutes at the most).
   ^exec -name DICT telnet grouchy.cs.indiana.edu 2627
   ^timer 225 closedict}
}

alias closedict {^exec -CLOSE %DICT}

### Country Code Lookup

@country_name.1 = [AFGHANISTAN]
@country_symbol.1 = [AF]
@country_name.2 = [ALBANIA]
@country_symbol.2 = [AL]
@country_name.3 = [ALGERIA]
@country_symbol.3 = [DZ]
@country_name.4 = [AMERICAN SAMOA]
@country_symbol.4 = [AS]
@country_name.5 = [ANDORRA]
@country_symbol.5 = [AD]
@country_name.6 = [ANGOLA]
@country_symbol.6 = [AO]
@country_name.7 = [ANGUILLA]
@country_symbol.7 = [AI]
@country_name.8 = [ANTARCTICA]
@country_symbol.8 = [AQ]
@country_name.9 = [ANTIGUA AND BARBUDA]
@country_symbol.9 = [AG]
@country_name.10 = [ARGENTINA]
@country_symbol.10 = [AR]
@country_name.11 = [ARMENIA]
@country_symbol.11 = [AM]
@country_name.12 = [ARUBA]
@country_symbol.12 = [AW]
@country_name.13 = [AUSTRALIA]
@country_symbol.13 = [AU]
@country_name.14 = [AUSTRIA]
@country_symbol.14 = [AT]
@country_name.15 = [AZERBAIJAN]
@country_symbol.15 = [AZ]
@country_name.16 = [BAHAMAS]
@country_symbol.16 = [BS]
@country_name.17 = [BAHRAIN]
@country_symbol.17 = [BH]
@country_name.18 = [BANGLADESH]
@country_symbol.18 = [BD]
@country_name.19 = [BARBADOS]
@country_symbol.19 = [BB]
@country_name.20 = [BELARUS]
@country_symbol.20 = [BY]
@country_name.21 = [BELGIUM]
@country_symbol.21 = [BE]
@country_name.22 = [BELIZE]
@country_symbol.22 = [BZ]
@country_name.23 = [BENIN]
@country_symbol.23 = [BJ]
@country_name.24 = [BERMUDA]
@country_symbol.24 = [BM]
@country_name.25 = [BHUTAN]
@country_symbol.25 = [BT]
@country_name.26 = [BOLIVIA]
@country_symbol.26 = [BO]
@country_name.27 = [BOSNIA]
@country_symbol.27 = [BA]
@country_name.28 = [BOTSWANA]
@country_symbol.28 = [BW]
@country_name.29 = [BOUVET ISLAND]
@country_symbol.29 = [BV]
@country_name.30 = [BRAZIL]
@country_symbol.30 = [BR]
@country_name.31 = [BRITISH INDIAN OCEAN TERRITORY]
@country_symbol.31 = [IO]
@country_name.32 = [BRUNEI DARUSSALAM]
@country_symbol.32 = [BN]
@country_name.33 = [BRUNEI]
@country_symbol.33 = [BN]
@country_name.34 = [BULGARIA]
@country_symbol.34 = [BG]
@country_name.35 = [BURKINA FASO]
@country_symbol.35 = [BF]
@country_name.36 = [BURUNDI]
@country_symbol.36 = [BI]
@country_name.37 = [BYELORUSSIAN SSR]
@country_symbol.37 = [BY]
@country_name.38 = [CAMBODIA]
@country_symbol.38 = [KH]
@country_name.39 = [CAMEROON]
@country_symbol.39 = [CM]
@country_name.40 = [CANADA]
@country_symbol.40 = [CA]
@country_name.41 = [CAP VERDE]
@country_symbol.41 = [CV]
@country_name.42 = [CAYMAN ISLANDS]
@country_symbol.42 = [KY]
@country_name.43 = [CENTRAL AFRICAN REPUBLIC]
@country_symbol.43 = [CF]
@country_name.44 = [CHAD]
@country_symbol.44 = [TD]
@country_name.45 = [CHILE]
@country_symbol.45 = [CL]
@country_name.46 = [CHINA]
@country_symbol.46 = [CN]
@country_name.47 = [CHRISTMAS ISLAND]
@country_symbol.47 = [CX]
@country_name.48 = [COCOS (KEELING) ISLANDS]
@country_symbol.48 = [CC]
@country_name.49 = [COLOMBIA]
@country_symbol.49 = [CO]
@country_name.50 = [COMOROS]
@country_symbol.50 = [KM]
@country_name.51 = [CONGO]
@country_symbol.51 = [CG]
@country_name.52 = [COOK ISLANDS]
@country_symbol.52 = [CK]
@country_name.53 = [COSTA RICA]
@country_symbol.53 = [CR]
@country_name.54 = [COTE D'IVOIRE]
@country_symbol.54 = [CI]
@country_name.55 = [CROATIA]
@country_symbol.55 = [HR]
@country_name.56 = [HRVATSKA]
@country_symbol.56 = [HR]
@country_name.57 = [CUBA]
@country_symbol.57 = [CU]
@country_name.58 = [CYPRUS]
@country_symbol.58 = [CY]
@country_name.59 = [CZECHOSLOVAKIA]
@country_symbol.59 = [CS]
@country_name.60 = [DENMARK]
@country_symbol.60 = [DK]
@country_name.61 = [DJIBOUTI]
@country_symbol.61 = [DJ]
@country_name.62 = [DOMINICA]
@country_symbol.62 = [DM]
@country_name.63 = [DOMINICAN REPUBLIC]
@country_symbol.63 = [DO]
@country_name.64 = [EAST TIMOR]
@country_symbol.64 = [TP]
@country_name.65 = [ECUADOR]
@country_symbol.65 = [EC]
@country_name.66 = [EGYPT]
@country_symbol.66 = [EG]
@country_name.67 = [EL SALVADOR]
@country_symbol.67 = [SV]
@country_name.68 = [EQUATORIAL GUINEA]
@country_symbol.68 = [GQ]
@country_name.69 = [ESTONIA]
@country_symbol.69 = [EE]
@country_name.70 = [ETHIOPIA]
@country_symbol.70 = [ET]
@country_name.71 = [FALKLAND ISLANDS]
@country_symbol.71 = [FK]
@country_name.72 = [MALVINAS]
@country_symbol.72 = [FK]
@country_name.73 = [FAROE ISLANDS]
@country_symbol.73 = [FO]
@country_name.74 = [FIJI]
@country_symbol.74 = [FJ]
@country_name.75 = [FINLAND]
@country_symbol.75 = [FI]
@country_name.76 = [FRANCE]
@country_symbol.76 = [FR]
@country_name.77 = [FRENCH GUIANA]
@country_symbol.77 = [GF]
@country_name.78 = [FRENCH POLYNESIA]
@country_symbol.78 = [PF]
@country_name.79 = [FRENCH SOUTHERN TERRITORIES]
@country_symbol.79 = [TF]
@country_name.80 = [GABON]
@country_symbol.80 = [GA]
@country_name.81 = [GAMBIA]
@country_symbol.81 = [GM]
@country_name.82 = [GEORGIA]
@country_symbol.82 = [GE]
@country_name.83 = [GERMANY]
@country_symbol.83 = [DE]
@country_name.84 = [DEUTSCHLAND]
@country_symbol.84 = [DE]
@country_name.85 = [GHANA]
@country_symbol.85 = [GH]
@country_name.86 = [GIBRALTAR]
@country_symbol.86 = [GI]
@country_name.87 = [GREECE]
@country_symbol.87 = [GR]
@country_name.88 = [GREENLAND]
@country_symbol.88 = [GL]
@country_name.89 = [GRENADA]
@country_symbol.89 = [GD]
@country_name.90 = [GUADELOUPE]
@country_symbol.90 = [GP]
@country_name.91 = [GUAM]
@country_symbol.91 = [GU]
@country_name.92 = [GUATEMALA]
@country_symbol.92 = [GT]
@country_name.93 = [GUINEA]
@country_symbol.93 = [GN]
@country_name.94 = [GUINEA BISSAU]
@country_symbol.94 = [GW]
@country_name.95 = [GYANA]
@country_symbol.95 = [GY]
@country_name.96 = [HAITI]
@country_symbol.96 = [HT]
@country_name.97 = [HEARD AND MC DONALD ISLANDS]
@country_symbol.97 = [HM]
@country_name.98 = [HONDURAS]
@country_symbol.98 = [HN]
@country_name.99 = [HONG KONG]
@country_symbol.99 = [HK]
@country_name.100 = [HUNGARY]
@country_symbol.100 = [HU]
@country_name.101 = [ICELAND]
@country_symbol.101 = [IS]
@country_name.102 = [INDIA]
@country_symbol.102 = [IN]
@country_name.103 = [INDONESIA]
@country_symbol.103 = [ID]
@country_name.104 = [IRAN]
@country_symbol.104 = [IR]
@country_name.105 = [IRAQ]
@country_symbol.105 = [IQ]
@country_name.106 = [IRELAND]
@country_symbol.106 = [IE]
@country_name.107 = [ISRAEL]
@country_symbol.107 = [IL]
@country_name.108 = [ITALY]
@country_symbol.108 = [IT]
@country_name.109 = [JAMAICA]
@country_symbol.109 = [JM]
@country_name.110 = [JAPAN]
@country_symbol.110 = [JP]
@country_name.111 = [JORDAN]
@country_symbol.111 = [JO]
@country_name.112 = [KAZAKHSTAN]
@country_symbol.112 = [KZ]
@country_name.113 = [KENYA]
@country_symbol.113 = [KE]
@country_name.114 = [KIRIBATI]
@country_symbol.114 = [KI]
@country_name.115 = [NORTH KOREA]
@country_symbol.115 = [KP]
@country_name.116 = [SOUTH KOREA]
@country_symbol.116 = [KR]
@country_name.117 = [KUWAIT]
@country_symbol.117 = [KW]
@country_name.118 = [KYRGYZSTAN]
@country_symbol.118 = [KG]
@country_name.119 = [LAO]
@country_symbol.119 = [LA]
@country_name.120 = [LAOS]
@country_symbol.120 = [LA]
@country_name.121 = [LATVIA]
@country_symbol.121 = [LV]
@country_name.122 = [LEBANON]
@country_symbol.122 = [LB]
@country_name.123 = [LESOTHO]
@country_symbol.123 = [LS]
@country_name.124 = [LIBERIA]
@country_symbol.124 = [LR]
@country_name.125 = [LIBYAN ARAB JAMAHIRIYA]
@country_symbol.125 = [LY]
@country_name.126 = [LYBIA]
@country_symbol.126 = [LY]
@country_name.127 = [LIECHTENSTEIN]
@country_symbol.127 = [LI]
@country_name.128 = [LITHUANIA]
@country_symbol.128 = [LT]
@country_name.129 = [LUXEMBOURG]
@country_symbol.129 = [LU]
@country_name.130 = [MACAU]
@country_symbol.130 = [MO]
@country_name.131 = [MACEDONIA]
@country_symbol.131 = [MK]
@country_name.132 = [MADAGASCAR]
@country_symbol.132 = [MG]
@country_name.133 = [MALAWI]
@country_symbol.133 = [MW]
@country_name.134 = [MALAYSIA]
@country_symbol.134 = [MY]
@country_name.135 = [MALDIVES]
@country_symbol.135 = [MV]
@country_name.136 = [MALI]
@country_symbol.136 = [ML]
@country_name.137 = [MALTA]
@country_symbol.137 = [MT]
@country_name.138 = [MARSHALL ISLANDS]
@country_symbol.138 = [MH]
@country_name.139 = [MARTINIQUE]
@country_symbol.139 = [MQ]
@country_name.140 = [MAURITANIA]
@country_symbol.140 = [MR]
@country_name.141 = [MAURITIUS]
@country_symbol.141 = [MU]
@country_name.142 = [MEXICO]
@country_symbol.142 = [MX]
@country_name.143 = [MICRONESIA]
@country_symbol.143 = [FM]
@country_name.144 = [MOLDOVA]
@country_symbol.144 = [MD]
@country_name.145 = [MONACO]
@country_symbol.145 = [MC]
@country_name.146 = [MONGOLIA]
@country_symbol.146 = [MN]
@country_name.147 = [MONTSERRAT]
@country_symbol.147 = [MS]
@country_name.148 = [MOROCCO]
@country_symbol.148 = [MA]
@country_name.149 = [MOZAMBIQUE]
@country_symbol.149 = [MZ]
@country_name.150 = [MYANMAR]
@country_symbol.150 = [MM]
@country_name.151 = [NAMIBIA]
@country_symbol.151 = [NA]
@country_name.152 = [NAURU]
@country_symbol.152 = [NR]
@country_name.153 = [NEPAL]
@country_symbol.153 = [NP]
@country_name.154 = [NETHERLANDS]
@country_symbol.154 = [NL]
@country_name.155 = [NETHERLANDS ANTILLES]
@country_symbol.155 = [AN]
@country_name.156 = [NEUTRAL ZONE]
@country_symbol.156 = [NT]
@country_name.157 = [NEW CALEDONIA]
@country_symbol.157 = [NC]
@country_name.158 = [NEW ZEALAND]
@country_symbol.158 = [NZ]
@country_name.159 = [NICARAGUA]
@country_symbol.159 = [NI]
@country_name.160 = [NIGER]
@country_symbol.160 = [NE]
@country_name.161 = [NIGERIA]
@country_symbol.161 = [NG]
@country_name.162 = [NIUE]
@country_symbol.162 = [NU]
@country_name.163 = [NORFOLK ISLAND]
@country_symbol.163 = [NF]
@country_name.164 = [NORTHERN MARIANA ISLANDS]
@country_symbol.164 = [MP]
@country_name.165 = [NORWAY]
@country_symbol.165 = [NO]
@country_name.166 = [OMAN]
@country_symbol.166 = [OM]
@country_name.167 = [PAKISTAN]
@country_symbol.167 = [PK]
@country_name.168 = [PALAU]
@country_symbol.168 = [PW]
@country_name.169 = [PANAMA]
@country_symbol.169 = [PA]
@country_name.170 = [PAPUA NEW GUINEA]
@country_symbol.170 = [PG]
@country_name.171 = [PAPUA]
@country_symbol.171 = [PG]
@country_name.172 = [NEW GUINEA]
@country_symbol.172 = [PG]
@country_name.173 = [PARAGUAY]
@country_symbol.173 = [PY]
@country_name.174 = [PERU]
@country_symbol.174 = [PE]
@country_name.175 = [PHILIPPINES]
@country_symbol.175 = [PH]
@country_name.176 = [PITCAIRN]
@country_symbol.176 = [PN]
@country_name.177 = [POLAND]
@country_symbol.177 = [PL]
@country_name.178 = [PORTUGAL]
@country_symbol.178 = [PT]
@country_name.179 = [PUERTO RICO]
@country_symbol.179 = [PR]
@country_name.180 = [QATAR]
@country_symbol.180 = [QA]
@country_name.181 = [REUNION]
@country_symbol.181 = [RE]
@country_name.182 = [ROMANIA]
@country_symbol.182 = [RO]
@country_name.183 = [RUSSIAN FEDERATION]
@country_symbol.183 = [RU]
@country_name.184 = [RWANDA]
@country_symbol.184 = [RW]
@country_name.185 = [SAINT KITTS AND NEVIS]
@country_symbol.185 = [KN]
@country_name.186 = [SAINT LUCIA]
@country_symbol.186 = [LC]
@country_name.187 = [SAINT VINCENT AND THE GRENADINES]
@country_symbol.187 = [VC]
@country_name.188 = [SAMOA]
@country_symbol.188 = [WS]
@country_name.189 = [SAN MARINO]
@country_symbol.189 = [SM]
@country_name.190 = [SAO TOME AND PRINCIPE]
@country_symbol.190 = [ST]
@country_name.191 = [SAUDI ARABIA]
@country_symbol.191 = [SA]
@country_name.192 = [SENEGAL]
@country_symbol.192 = [SN]
@country_name.193 = [SEYCHELLES]
@country_symbol.193 = [SC]
@country_name.194 = [SIERRA LEONE]
@country_symbol.194 = [SL]
@country_name.195 = [SINGAPORE]
@country_symbol.195 = [SG]
@country_name.196 = [SLOVENIA]
@country_symbol.196 = [SI]
@country_name.197 = [SOLOMON ISLANDS]
@country_symbol.197 = [SB]
@country_name.198 = [SOMALIA]
@country_symbol.198 = [SO]
@country_name.199 = [SOUTH AFRICA]
@country_symbol.199 = [ZA]
@country_name.200 = [SPAIN]
@country_symbol.200 = [ES]
@country_name.201 = [SRI LANKA]
@country_symbol.201 = [LK]
@country_name.202 = [ST. HELENA]
@country_symbol.202 = [SH]
@country_name.203 = [ST. PIERRE AND MIQUELON]
@country_symbol.203 = [PM]
@country_name.204 = [SUDAN]
@country_symbol.204 = [SD]
@country_name.205 = [SURINAME]
@country_symbol.205 = [SR]
@country_name.206 = [SVALBARD AND JAN MAYEN ISLANDS]
@country_symbol.206 = [SJ]
@country_name.207 = [SWAZILAND]
@country_symbol.207 = [SZ]
@country_name.208 = [SWEDEN]
@country_symbol.208 = [SE]
@country_name.209 = [SWITZERLAND]
@country_symbol.209 = [CH]
@country_name.210 = [CANTONS OF HELVETIA]
@country_symbol.210 = [CH]
@country_name.211 = [CONFEDERATION HELVETIQUE]
@country_symbol.211 = [CH]
@country_name.212 = [SYRIAN ARAB REPUBLIC]
@country_symbol.212 = [SY]
@country_name.213 = [SYRIA]
@country_symbol.213 = [SY]
@country_name.214 = [TAIWAN]
@country_symbol.214 = [TW]
@country_name.215 = [TAJIKISTAN]
@country_symbol.215 = [TJ]
@country_name.216 = [TANZANIA]
@country_symbol.216 = [TZ]
@country_name.217 = [THAILAND]
@country_symbol.217 = [TH]
@country_name.218 = [TOGO]
@country_symbol.218 = [TG]
@country_name.219 = [TOKELAU]
@country_symbol.219 = [TK]
@country_name.220 = [TONGA]
@country_symbol.220 = [TO]
@country_name.221 = [TRINIDAD AND TOBAGO]
@country_symbol.221 = [TT]
@country_name.222 = [TUNISIA]
@country_symbol.222 = [TN]
@country_name.223 = [TURKEY]
@country_symbol.223 = [TR]
@country_name.224 = [TURKMENISTAN]
@country_symbol.224 = [TM]
@country_name.225 = [TURKS AND CAICOS ISLANDS]
@country_symbol.225 = [TC]
@country_name.226 = [TUVALU]
@country_symbol.226 = [TV]
@country_name.227 = [UGANDA]
@country_symbol.227 = [UG]
@country_name.228 = [UKRAINIAN SSR]
@country_symbol.228 = [UA]
@country_name.229 = [UNITED ARAB EMIRATES]
@country_symbol.229 = [AE]
@country_name.230 = [UNITED KINGDOM]
@country_symbol.230 = [UK]
@country_name.231 = [GREAT BRITAIN]
@country_symbol.231 = [GB]
@country_name.232 = [UNITED STATES OF AMERICA]
@country_symbol.232 = [US]
@country_name.233 = [UNITED STATES]
@country_symbol.233 = [US]
@country_name.234 = [UNITED STATES MINOR OUTLYING ISLANDS]
@country_symbol.234 = [UM]
@country_name.235 = [URUGUAY]
@country_symbol.235 = [UY]
@country_name.236 = [USSR]
@country_symbol.236 = [SU]
@country_name.237 = [SOVIET UNION]
@country_symbol.237 = [SU]
@country_name.238 = [UZBEKISTAN]
@country_symbol.238 = [UZ]
@country_name.239 = [VANUATU]
@country_symbol.239 = [VU]
@country_name.240 = [VATICAN]
@country_symbol.240 = [VA]
@country_name.241 = [VATICAN CITY STATE]
@country_symbol.241 = [VA]
@country_name.242 = [VENEZUELA]
@country_symbol.242 = [VE]
@country_name.243 = [VIET NAM]
@country_symbol.243 = [VN]
@country_name.244 = [VIRGIN ISLANDS (US)]
@country_symbol.244 = [VI]
@country_name.245 = [VIRGIN ISLANDS (UK)]
@country_symbol.245 = [VG]
@country_name.246 = [WALLIS AND FUTUNA ISLANDS]
@country_symbol.246 = [WF]
@country_name.247 = [WESTERN SAHARA]
@country_symbol.247 = [EH]
@country_name.248 = [YEMEN]
@country_symbol.248 = [YE]
@country_name.249 = [YUGOSLAVIA]
@country_symbol.249 = [YU]
@country_name.250 = [ZAIRE]
@country_symbol.250 = [ZR]
@country_name.251 = [ZAMBIA]
@country_symbol.251 = [ZM]
@country_name.252 = [ZIMBABWE]
@country_symbol.252 = [ZW]
@country_name.253 = [COMMERCIAL ORGANIZATION (US)]
@country_symbol.253 = [COM]
@country_name.254 = [EDUCATIONAL INSTITUTION (US)]
@country_symbol.254 = [EDU]
@country_name.255 = [NETWORKING ORGANIZATION (US)]
@country_symbol.255 = [NET]
@country_name.256 = [MILITARY (US)]
@country_symbol.256 = [MIL]
@country_name.257 = [NON-PROFIT ORGANIZATION (US)]
@country_symbol.257 = [ORG]
@country_name.258 = [GOVERNMENT (US)]
@country_symbol.258 = [GOV]
@country_name.259 = [KOREA - DEMOCRATIC PEOPLE'S REPUBLIC OF]
@country_symbol.259 = [KP]
@country_name.260 = [KOREA - REPUBLIC OF]
@country_symbol.260 = [KR]
@country_name.261 = [LAO PEOPLES' DEMOCRATIC REPUBLIC]
@country_symbol.261 = [LA]
@country_name.262 = [RUSSIA]
@country_symbol.262 = [SU]
@country_name.263 = [SLOVAKIA]
@country_symbol.263 = [SK]
@country_name.264 = [CZECH]
@country_symbol.264 = [CZ]

alias country {
  if ([$0]) {
    @ CCODE = 0
    ^assign DOM $strip(. $0)
    /echo $ex Looking up country name for .$strip(. $0), please wait...
    foreach country_name XX {
	 if ([$country_symbol[$XX]] == [$DOM]) {/EVAL @ CCODE = $XX}
	 }
    if ([$CCODE] == 0) {/echo $ex No country name for $DOM found.}
	 {/echo $ex .$DOM is $country_name[$CCODE]}
    ^assign -DOM
    ^assign -CCODE
    }
    {/echo $ex Usage: /country <domain>  (Ex: /country edu)}
  if ([$1]) {/country $1-}
}

### Network Mapping Stuff

EVAL @ map.mask = encode(*.)

alias initmap {
	/purge maplist
	/purge maplist2
	/purge maphublist
	/echo $ex MAP: Building links list, please wait...
	/map.buildlist $*
}

alias gomap {
	if ([$0] != [])
		{@ map.toptree = encode($tolower($0))}
		{@ map.toptree = encode($tolower($map.from))}
	/echo $ex Displaying map from $decode($map.toptree)
	/echo 0   $decode($map.toptree)
	/makemap 1 $map.toptree
	/map.restore
	/echo $ex imap: done displaying map
}

alias map.buildlist {
	^on ^364 * {
		@ map.from = [$0]
		@ map.srv = [$1]
		@ map.uplink = [$2]
		@ map.hops = [$3]
		if (left(1 $map.srv) == [*]) {
			@ mapmasklist[$encode($tolower($map.srv))] = map.srv
		}
		@ map.hub = encode($tolower($map.uplink))
		@ maphublist[$map.hub] = maphublist[$map.hub] + 1
		@ maplist[$map.hub][$encode($tolower($map.srv))] = map.hops
	  }
	^on ^365 * {
		^on 364 -*
		/echo $ex MAP: Links list building is complete.
		^on 365 -*
		@ map.tmp = encode($tolower($map.from))
		^assign -maplist[$map.tmp][$map.tmp]
		@ maphublist[$map.tmp] = maphublist[$map.tmp] - 1
		map.cleanmasks
		map.save
		/echo $ex MAP: Type /gomap to view the irc map.
	}
	//links $*
}

alias map.cleanmasks {
	foreach mapmasklist ii {
		foreach maplist jj {
			if (match(*$mid(2 100 $ii) $jj))
			{
				foreach maplist.$jj kk {
					@ maplist[$ii][$kk] = maplist[$jj][$kk]
					^assign -maplist[$jj][$kk]
				}
				@ maphublist[$ii] = maphublist[$jj]
				^assign -maphublist[$jj]
			}
		}
		^assign -mapmasklist[$ii]
	}
	/echo $ex MAP: map data masks have been cleaned.
}

alias showmap {
	if ([$0] == [])
	{
		foreach maplist ii {
			foreach maplist.$ii jj {
				echo $decode($ii) links $decode($jj)
			}
		}
	}
	{
		foreach maplist.$encode($tolower($0)) ii {
			foreach maplist.$ii jj {
				echo $decode($ii) links $decode($jj)
			}
		}
	}
}

alias makemap {
	@ map.ind[$0] = 0
	foreach maplist.$1 ii$0 {
		echo $lformat(3 $0) $map.outmask(1 $0)`-$decode($(ii$0)) $maplist[$1][$(ii$0)]
		^assign -maplist[$1][$(ii$0)]
		if ((map.ind[$0] = map.ind[$0] +1) >= maphublist[$1])
		{@mask[$0] = 0}
		{@mask[$0] = 1}
		makemap ${[$0] + 1} $(ii$0)
		^assign -ii$0
	}
}

alias map.save {
	foreach maplist ii {
		foreach maplist.$ii jj {
			@ maplist2[$ii][$jj] = maplist[$ii][$jj] 
		}
	}
	/echo $ex MAP: Map data has been saved.
}

alias map.restore {
	foreach maplist2 ii {
		foreach maplist2.$ii jj {
			@ maplist[$ii][$jj] = maplist2[$ii][$jj] 
		}
	}
	/echo $ex MAP: Map data has been restored.
}

alias lformat {
	@ IRCII.word = [$1-]
	if (@IRCII.word < [$0]) 
		{ @ function_return = [$([$0]IRCII.word)] } 
		{ @ function_return = IRCII.word } 
}

alias purge {
  foreach $0 ii {
    purge $0.$ii
  }
  ^assign -ii
  ^assign -$0
}

alias map.outmask {
	if ([$0] < [$1]) 
	{
		if (mask[$0])
			{@ mask.mask = mask.mask ## [| ]}
			{@ mask.mask = mask.mask ## [  ]}
		@ function_return = map.outmask(${[$0] + 1} $1)
	}
	{
		@ function_return = mask.mask
		^assign -mask.mask
	}
}

alias EXTRASHELP {
   echo |----------------------------------------------------------------------|
   echo |         PhoEniX version 2.05 by Vassago - Extras Command Help        |
   echo |----------------------------------------------------------------------|
   echo | /INITMAP - Generate IRC network map.                                 |
   echo | /GOMAP [(server)] - Display map generated by INITMAP.                |
   echo | /MASSINV (channel) - Invites everyone on <channel> to your channel.  |
   echo | /COUNTRY - Instructions on how to use country code lookup.           |
   echo | /COUNTRY (country code) - Gives you the name of that country.        |
   echo | /DICT (any English word) - Connects you to Webster's dictionary.     |
   echo | /RMAIL - Opens a window so you can read your mail while in IRC.      |
   echo | /DCCMAIL - Mails/Fakemails someone a message from you. Type /DCCMAIL |
   echo |    for extended help on this command.                                |
   echo | /UUMAIL (nick/host) - Mails a file uuencoded to <nick/host>.         |
   echo | /LINKS - Lists servers and their connections to each other.          |
   echo | /WALLOPS (server) (message) - sends a message to all +s people on    |
   echo |   <server>. No spaces are allowed in the wallops message.            |
   echo |----------------------------------------------------------------------|
}

EVAL echo $ex EXTRAS.IRC has been loaded. Type /EXTRASHELP for Commands.

[ RETURN TO DIRECTORY ]