Initial Commit
[packages] / xemacs-packages / erc / erc-nets.el
1 ;;; erc-nets.el --- IRC networks
2
3 ;; Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
4
5 ;; Author: Mario Lang <mlang@lexx.delysid.org>
6 ;; Keywords: comm
7
8 ;; This file is part of GNU Emacs.
9
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; any later version.
14
15 ;; GNU Emacs is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ;; GNU General Public License for more details.
19
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
22 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
23 ;; Boston, MA 02110-1301, USA.
24
25 ;;; Commentary:
26
27 ;; This file deals with IRC networks.
28 ;;
29 ;; Usage:
30 ;;
31 ;; Put into your .emacs:
32 ;;
33 ;; (require 'erc-nets)
34 ;;
35 ;; M-x erc-server-select provides an alternative way to connect to servers by
36 ;; choosing networks.
37 ;; You can use (eq (erc-network) 'Network) if you'd like to set variables or do
38 ;; certain actions according to which network you're connected to.
39 ;; If a network you use is not listed in `erc-networks-alist', you can put
40 ;; (add-to-list 'erc-networks-alist '(Network "irc.server-name.net")) in your
41 ;; config file.
42
43 ;;; Code:
44
45 (require 'erc)
46 (eval-when-compile (require 'cl))
47
48 (defconst erc-nets-version "$Revision: 1.22.2.1 $"
49   "ERC networks revision.")
50
51 ;; Variables
52
53 (defgroup erc-networks nil
54   "IRC Networks"
55   :group 'erc)
56
57 (defcustom erc-server-alist
58 '(("4-irc: Random server" 4-irc "4-irc.com" 6667)
59   ("A5KNet: Random server" A5KNet "irc.a5knet.com" ((6660 6669)))
60   ("AbleNet: Random server" AbleNet "irc.ablenet.org" 6667)
61   ("Accessirc: Random server" Accessirc "irc.accessirc.net" 6667)
62   ("Acestar: Random server" Acestar "irc.acestar.org" 6667)
63   ("Action-IRC: Random server" Action-IRC "irc.action-irc.net" ((6660 6669)))
64   ("AfterNET: Random server" AfterNET "irc.afternet.org" 6667)
65   ("Alternativenet: Random server" Alternativenet "irc.altnet.org" 6667)
66   ("AmigaNet: Random server" AmigaNet "irc.amiganet.org" 6667)
67   ("AngelEyez: Random server" AngelEyez "irc.angeleyez.net" ((6666 7000)))
68   ("AnotherNet: Random server" Anothernet "irc.another.net" (6667 7000 ))
69   ("ArabChat: Random server" ArabChat "irc.arabchat.org" ((6660 6667)))
70   ("AsiaTalk: Random server" AsiaTalk "irc.asiatalk.org" ((6667 6669) 7000 ))
71   ("AstroLink: Random server" AstroLink "irc.astrolink.org" ((6660 6667)))
72   ("Asylumnet: Random server" Asylumnet "irc.asylum-net.org" ((6661 6669) 7000 7777 ))
73   ("Austnet: Random AU server" Austnet "au.austnet.org" 6667)
74   ("Austnet: Random NZ server" Austnet "nz.austnet.org" 6667)
75   ("Austnet: Random SG server" Austnet "sg.austnet.org" 6667)
76   ("Austnet: Random US server" Austnet "us.austnet.org" 6667)
77   ("AwesomeChat: Random server" AwesomeChat "irc.awesomechat.net" ((6661 6669)))
78   ("Awesomechristians: Random server" Awesomechristians "irc.awesomechristians.com" 7000)
79   ("Axenet: Random server" Axenet "irc.axenet.org" ((6660 6667)))
80   ("BeyondIRC: Random server" Beyondirc "irc.beyondirc.net" ((6660 6669)))
81   ("BGIRC: Random server" BGIRC "irc.bulgaria.org" ((6666 6669) 7000 ))
82   ("Blabbernet: Random server" Blabbernet "irc.blabber.net" (6667 7000 ))
83   ("Blitzed: Random server" Blitzed "irc.blitzed.org" (6667 7000 ))
84   ("Brasirc: Random server" Brasirc "irc.brasirc.net" ((6666 6667)))
85   ("Brasirc: BR, PA, Belem" Brasirc "irc.libnet.com.br" ((6666 6668) 7777 8002 ))
86   ("BRASnet: Random European server" BRASnet "eu.brasnet.org" ((6665 6669)))
87   ("BRASnet: Random US server" BRASnet "us.brasnet.org" ((6665 6669)))
88   ("BubbleNet: Random server" BubbleNet "irc.bubblenet.org" ((6667 6669)))
89   ("CCnet: Random server" CCnet "irc.cchat.net" (6667 7000 ))
90   ("CCnet: US, TX, Dallas" CCnet "irc2.cchat.net" (6667 7000 ))
91   ("Chat-Net: Random server" Chat-Net "irc.chat-net.org" 6667)
92   ("Chat-Solutions: Random server" Chat-Solutions "irc.chat-solutions.org" 6667)
93   ("Chatcafe: Random server" Chatcafe "irc.chatcafe.net" 6667)
94   ("Chatchannel: Random server" Chatchannel "irc.chatchannel.org" ((6666 6669) 7000 ))
95   ("ChatCircuit: Random server" ChatCircuit "irc.chatcircuit.com" 6668)
96   ("Chatlink: Random server" Chatlink "irc.chatlink.org" 6667)
97   ("Chatnet: Random AU server" Chatnet "au.chatnet.org" 6667)
98   ("Chatnet: Random EU server" Chatnet "eu.chatnet.org" 6667)
99   ("Chatnet: Random US server" Chatnet "us.chatnet.org" 6667)
100   ("ChatNut: Random server" ChatNut "irc.chatnut.net" (6667 7000 ))
101   ("Chatpinoy: Random server" Chatpinoy "irc.chatpinoy.com" 6667)
102   ("ChatPR: Random server" ChatPR "irc.chatpr.org" 6667)
103   ("Chatroom: Random server" Chatroom "irc.chatroom.org" 6667)
104   ("Chatster: Random server" Chatster "irc.chatster.org" 6667)
105   ("ChatX: Random server" ChatX "irc.chatx.net" 6667)
106   ("China263: Random server" China263 "irc.263.net" 6667)
107   ("Cineplex1: Random server" Cineplex1 "irc.cineplex1.com" ((6666 6668)))
108   ("CNN: CNN News discussions" CNN "chat.cnn.com" ((6667 6669) 7000 ))
109   ("CobraNet: Random server" CobraNet "irc.cobra.net" 6667)
110   ("Coolchat: Random server" Coolchat "irc.coolchat.net" 6667)
111   ("Criten: Random server" Criten "irc.criten.net" 6667)
112   ("Cyberchat: Random server" Cyberchat "irc.cyberchat.org" (6667 6668 ))
113   ("CyGanet: Random server" CyGanet "irc.cyga.net" 6667)
114   ("DALnet: AS, MY, Coins" DALnet "coins.dal.net" ((6663 6668) 7000 ))
115   ("DALnet: CA, ON, Sodre" DALnet "sodre.on.ca.dal.net" ((6661 6669) 7000 ))
116   ("DALnet: EU, DE, Nexgo" DALnet "nexgo.de.eu.dal.net" ((6664 6669) 7000 ))
117   ("DALnet: EU, NO, Powertech" DALnet "powertech.no.eu.dal.net" ((6666 6667) 7000 ))
118   ("DALnet: EU, SE, Borg" DALnet "borg.se.eu.dal.net" (6667 7000 ))
119   ("DALnet: EU, SE, Ced" DALnet "ced.se.eu.dal.net" (6667 7000 ))
120   ("DALnet: US, GA, Astro" DALnet "astro.ga.us.dal.net" ((6661 6669) 7000 ))
121   ("DALnet: US, GA, Dragons" DALnet "dragons.ga.us.dal.net" ((6661 6669) 7000 ))
122   ("DALnet: US, GA, Elysium" DALnet "elysium.ga.us.dal.net" ((6661 6669) 7000 ))
123   ("DALnet: US, MA, Twisted" DALnet "twisted.ma.us.dal.net" ((6660 6669) 7001 7002 ))
124   ("DALnet: US, MO, Global" DALnet "global.mo.us.dal.net" ((6661 6669) 7000 ))
125   ("DALnet: US, NJ, Liberty" DALnet "liberty.nj.us.dal.net" ((6662 6669) 7000 ))
126   ("DALnet: US, VA, Wombat" DALnet "wombat.va.us.dal.net" ((6661 6669) 7000 ))
127   ("DALnet: Random EU server" DALnet "irc.eu.dal.net" 6667)
128   ("DALnet: Random US server" DALnet "irc.dal.net" ((6660 6667)))
129   ("Dark-Tou-Net: Random server" Dark-Tou-Net "irc.d-t-net.de" 6667)
130   ("Darkfire: Random server" Darkfire "irc.darkfire.net" (6667 7000 8000 ))
131   ("DarkMyst: Random server" DarkMyst "irc.darkmyst.org" 6667)
132   ("Darkserv: Random server" Darkserv "irc.darkserv.net" 6667)
133   ("Darksystem: Random server" Darksystem "irc.darksystem.com" 6667)
134   ("Darktree: Random server" Darktree "irc.darktree.net" 6667)
135   ("DayNet: Random server" DayNet "irc.daynet.org" 6667)
136   ("Deepspace: Disability network" Deepspace "irc.deepspace.org" 6667)
137   ("Different: Random server" Different "irc.different.net" 6667)
138   ("Digarix: Random server" Digarix "irc.digarix.net" 6667)
139   ("Digatech: Random server" Digatech "irc.digatech.net" 6667)
140   ("Digital-Base: Random server" Digital-Base "irc.digital-base.net" ((6660 7000)))
141   ("Digitalirc: Random server" Digitalirc "irc.digitalirc.net" 6667)
142   ("Discussioni: Random server" Discussioni "irc.discussioni.org" ((6666 6669)))
143   ("DorukNet: TR, Istanbul" DorukNet "irc.doruk.net.tr" ((6660 6669) 7000 8888 ))
144   ("Dreamcast: Random server" Dreamcast "irc0.dreamcast.com" 6667)
145   ("DWChat: Random server" DWChat "irc.dwchat.net" 6667)
146   ("Dynastynet: Random server" Dynastynet "irc.dynastynet.net" 6667)
147   ("EFnet: CA, AB, Edmonton (arcti)" EFnet "irc.arcti.ca" 6667)
148   ("EFnet: CA, AB, Edmonton (mpls)" EFnet "irc.mpls.ca" ((6660 6669)))
149   ("EFnet: CA, ON, Toronto" EFnet "irc2.magic.ca" 6667)
150   ("EFnet: CA, QB, Montreal" EFnet "irc.qeast.net" 6667)
151   ("EFnet: EU, DK, Aarhus" EFnet "irc.inet.tele.dk" 6667)
152   ("EFnet: EU, FI, Helsinki" EFnet "efnet.cs.hut.fi" 6667)
153   ("EFnet: EU, FR, Paris" EFnet "irc.isdnet.fr" ((6667 6669)))
154   ("EFnet: EU, NL, Amsterdam" EFnet "efnet.vuurwerk.nl" 6667)
155   ("EFnet: EU, NO, Homelien" EFnet "irc.homelien.no" (5190 (6666 6667) (7000 7001) ))
156   ("EFnet: EU, NO, Oslo" EFnet "irc.daxnet.no" ((6666 7000)))
157   ("EFnet: EU, PL, Warszawa" EFnet "irc.efnet.pl" 6667)
158   ("EFnet: EU, RU, Moscow" EFnet "irc.rt.ru" ((6661 6669)))
159   ("EFnet: EU, SE, Dalarna" EFnet "irc.du.se" ((6666 6669)))
160   ("EFnet: EU, SE, Gothenberg" EFnet "irc.hemmet.chalmers.se" ((6666 7000)))
161   ("EFnet: EU, SE, Sweden" EFnet "irc.light.se" 6667)
162   ("EFnet: EU, UK, London (carrier)" EFnet "irc.carrier1.net.uk" ((6666 6669)))
163   ("EFnet: EU, UK, London (demon)" EFnet "efnet.demon.co.uk" ((6665 6669)))
164   ("EFnet: ME, IL, Inter" EFnet "irc.inter.net.il" ((6665 6669)))
165   ("EFnet: US, AZ, Phoenix" EFnet "irc.easynews.com" (6660 (6665 6667) 7000 ))
166   ("EFnet: US, CA, San Jose" EFnet "irc.concentric.net" ((6665 6668)))
167   ("EFnet: US, CA, San Luis Obispo" EFnet "irc.prison.net" ((6666 6667)))
168   ("EFnet: US, GA, Atlanta" EFnet "irc.mindspring.com" ((6660 6669)))
169   ("EFnet: US, MI, Ann Arbor" EFnet "irc.umich.edu" 6667)
170   ("EFnet: US, MN, Twin Cities" EFnet "irc.umn.edu" ((6665 6669)))
171   ("EFnet: US, NY, Mineola" EFnet "irc.lightning.net" ((6665 7000)))
172   ("EFnet: US, NY, New York (east)" EFnet "irc.east.gblx.net" 6667)
173   ("EFnet: US, NY, New York (flamed)" EFnet "irc.flamed.net" ((6665 6669)))
174   ("EFnet: US, TX, Houston" EFnet "ircd.lagged.org" ((6660 6669)))
175   ("EFnet: US, VA, Ashburn" EFnet "irc.secsup.uu.net" ((6665 6669) 8080 ))
176   ("EFnet: Random AU server" EFnet "au.rr.efnet.net" 6667)
177   ("EFnet: Random CA server" EFnet "ca.rr.efnet.net" 6667)
178   ("EFnet: Random EU server" EFnet "eu.rr.efnet.net" 6667)
179   ("EFnet: Random US server" EFnet "us.rr.efnet.net" 6667)
180   ("EgyptianIRC: Random server" EgyptianIRC "irc.egyptianirc.net" ((6667 6669)))
181   ("Eircnet: Random server" Eircnet "irc.eircnet.org" ((6660 6669) 7000 ))
182   ("Eleethal: Random server" Eleethal "irc.eleethal.com" ((6660 6669) 7000 ))
183   ("EntertheGame: Random server" EntertheGame "irc.enterthegame.com" ((6667 6669)))
184   ("EpiKnet: Random server" EpiKnet "irc.epiknet.org" ((6660 6669) 7000 7001 ))
185   ("EsperNet: Random server" EsperNet "irc.esper.net" (5555 (6667 6669) ))
186   ("Esprit: Random server" Esprit "irc.esprit.net" 6667)
187   ("euIRC: Random server" euIRC "irc.euirc.net" ((6665 6669)))
188   ("Evilzinc: Random server" Evilzinc "irc.evilzinc.net" ((6660 6669) 7000 8000 ))
189   ("ExodusIRC: Random server" ExodusIRC "irc.exodusirc.net" ((6660 6669)))
190   ("FDFnet: Random server" FDFnet "irc.fdfnet.net" ((6666 6668) 9999 ))
191   ("FEFnet: Random server" FEFnet "irc.fef.net" 6667)
192   ("Financialchat: Random server" Financialchat "irc.financialchat.com" ((6667 6669) 7000 ))
193   ("Forestnet: Random server" Forestnet "irc.forestnet.org" (6667 7000 ))
194   ("ForeverChat: Random server" ForeverChat "irc.foreverchat.net" ((6660 6669) 7000 ))
195   ("Fraggers: Random server" Fraggers "irc.fraggers.co.uk" ((6661 6669) (7000 7001) ))
196   ("FreedomChat: Random server" FreedomChat "chat.freedomchat.net" 6667)
197   ("FreedomIRC: Random server" FreedomIRC "irc.freedomirc.net" 6667)
198   ("Freenode: Random server" freenode "irc.freenode.net" 6667)
199   ("Freenode: Random EU server" freenode "irc.eu.freenode.net" 6667)
200   ("Freenode: Random US server" freenode "irc.us.freenode.net" 6667)
201   ("FunNet: Random server" FunNet "irc.funnet.org" 6667)
202   ("Galaxynet: Random server" GalaxyNet "irc.galaxynet.org" ((6662 6668) 7000 ))
203   ("Galaxynet: AU, NZ, Auckland" GalaxyNet "auckland.nz.galaxynet.org" ((6661 6669)))
204   ("Galaxynet: EU, BE, Online" GalaxyNet "online.be.galaxynet.org" ((6661 6669)))
205   ("Galaxynet: US, FL, Florida" GalaxyNet "gymnet.us.galaxynet.org" ((6661 6669)))
206   ("Gamesnet: Random east US server" Gamesnet "east.gamesnet.net" 6667)
207   ("Gamesnet: Random west US server" Gamesnet "west.gamesnet.net" 6667)
208   ("GammaForce: Random server" GammaForce "irc.gammaforce.org" ((6660 6669) 7000 ))
209   ("GIKInet: Random server" GIKInet "irc.giki.edu.pk" 6667)
210   ("GizNet: Random server" GizNet "irc.giznet.org" ((6666 6669) 7000 ))
211   ("Globalchat: Random server" Globalchat "irc.globalchat.org" 6667)
212   ("GlobIRC: Random server" GlobIRC "irc.globirc.net" ((6666 6668) 9999 ))
213   ("Goldchat: Random server" Goldchat "irc.goldchat.nl" ((6660 6669) 7000 ))
214   ("Goodchatting: Random server" Goodchatting "irc.goodchatting.com" ((6661 6669) 7000 ))
215   ("GravityLords: Random server" GravityLords "irc.gravitylords.net" 6667)
216   ("Grnet: Random EU server" GRnet "gr.irc.gr" (6667 7000 ))
217   ("Grnet: Random server" GRnet "srv.irc.gr" (6667 7000 ))
218   ("Grnet: Random US server" GRnet "us.irc.gr" (6667 7000 ))
219   ("GulfChat: Random server" GulfChat "irc.gulfchat.net" ((6660 6669)))
220   ("HabberNet: Random server" HabberNet "irc.habber.net" 6667)
221   ("HanIRC: Random server" HanIRC "irc.hanirc.org" 6667)
222   ("Hellenicnet: Random server" Hellenicnet "irc.mirc.gr" (6667 7000 ))
223   ("IceNet: Random server" IceNet "irc.icenet.org.za" 6667)
224   ("ICQnet: Random server" ICQnet "irc.icq.com" 6667)
225   ("Infatech: Random server" Infatech "irc.infatech.net" ((6660 6669)))
226   ("Infinity: Random server" Infinity "irc.infinity-irc.org" 6667)
227   ("Infomatrix: Random server" Infomatrix "irc.infomatrix.net" 6667)
228   ("Inside3D: Random server" Inside3D "irc.inside3d.net" ((6661 6669)))
229   ("InterlinkChat: Random server" InterlinkChat "irc.interlinkchat.net" ((6660 6669) 7000 ))
230   ("IRC-Chile: Random server" IRC-Chile "irc.cl" 6667)
231   ("IRC-Hispano: Random server" IRC-Hispano "irc.irc-hispano.org" 6667)
232   ("IRCchat: Random server" IRCchat "irc.ircchat.tk" 6667)
233   ("IRCGate: Random server" IRCGate "irc.ircgate.net" ((6667 6669)))
234   ("IRCGeeks: Random server" IRCGeeks "irc.ircgeeks.org" ((6660 6669)))
235   ("IRChat: Random server" IRChat "irc.irchat.net" ((6660 6669)))
236   ("IrcLordz: Random server" IrcLordz "irc.irclordz.com" 6667)
237   ("IrcMalta: Random server" IrcMalta "irc.ircmalta.org" ((6660 6667)))
238   ("IRCnet: EU, FR, Random" IRCnet "irc.fr.ircnet.net" 6667)
239   ("IRCnet: EU, IT, Random" IRCnet "irc.ircd.it" ((6665 6669)))
240   ("IRCnet: AS, IL, Haifa" IRCnet "ircnet.netvision.net.il" ((6661 6668)))
241   ("IRCnet: AS, JP, Tokyo" IRCnet "irc.tokyo.wide.ad.jp" 6667)
242   ("IRCnet: AS, TW, Seed" IRCnet "irc.seed.net.tw" 6667)
243   ("IRCnet: EU, AT, Linz" IRCnet "linz.irc.at" ((6666 6668)))
244   ("IRCnet: EU, AT, Wien" IRCnet "vienna.irc.at" ((6666 6669)))
245   ("IRCnet: EU, BE, Brussels" IRCnet "irc.belnet.be" 6667)
246   ("IRCnet: EU, BE, Zaventem" IRCnet "ircnet.wanadoo.be" ((6661 6669)))
247   ("IRCnet: EU, CZ, Prague" IRCnet "irc.felk.cvut.cz" 6667)
248   ("IRCnet: EU, DE, Berlin" IRCnet "irc.fu-berlin.de" ((6665 6669)))
249   ("IRCnet: EU, DE, Dusseldorf" IRCnet "irc.freenet.de" ((6665 6669)))
250   ("IRCnet: EU, DE, Stuttgart" IRCnet "irc.belwue.de" ((6665 6669)))
251   ("IRCnet: EU, DK, Copenhagen" IRCnet "irc.ircnet.dk" 6667)
252   ("IRCnet: EU, EE, Tallinn" IRCnet "irc.estpak.ee" ((6666 6668)))
253   ("IRCnet: EU, FI, Helsinki" IRCnet "irc.cs.hut.fi" 6667)
254   ("IRCnet: EU, GR, Thessaloniki" IRCnet "irc.ee.auth.gr" ((6666 6669)))
255   ("IRCnet: EU, HU, Budapest" IRCnet "irc.elte.hu" 6667)
256   ("IRCnet: EU, IS, Reykjavik (ircnet)" IRCnet "irc.ircnet.is" ((6661 6669)))
257   ("IRCnet: EU, IS, Reykjavik (simnet)" IRCnet "irc.simnet.is" ((6661 6669)))
258   ("IRCnet: EU, IT, Rome" IRCnet "irc.tin.it" ((6665 6669)))
259   ("IRCnet: EU, NL, Amsterdam (nlnet)" IRCnet "irc.nl.uu.net" ((6660 6669)))
260   ("IRCnet: EU, NL, Amsterdam (xs4all)" IRCnet "irc.xs4all.nl" ((6660 6669)))
261   ("IRCnet: EU, NL, Enschede" IRCnet "irc.snt.utwente.nl" ((6660 6669)))
262   ("IRCnet: EU, NL, Nijmegen" IRCnet "irc.sci.kun.nl" ((6660 6669)))
263   ("IRCnet: EU, NO, Oslo" IRCnet "irc.ifi.uio.no" 6667)
264   ("IRCnet: EU, NO, Trondheim" IRCnet "irc.pvv.ntnu.no" 6667)
265   ("IRCnet: EU, PL, Lublin" IRCnet "lublin.irc.pl" ((6666 6668)))
266   ("IRCnet: EU, PL, Warsaw" IRCnet "warszawa.irc.pl" ((6666 6668)))
267   ("IRCnet: EU, RU, Moscow" IRCnet "irc.msu.ru" 6667)
268   ("IRCnet: EU, SE, Lulea" IRCnet "irc.ludd.luth.se" ((6661 6669)))
269   ("IRCnet: EU, UK, London (Demon)" IRCnet "ircnet.demon.co.uk" ((6665 6669)))
270   ("IRCnet: EU, UK, London (Easynet)" IRCnet "ircnet.easynet.co.uk" ((6666 6669)))
271   ("IRCnet: US, NY, New York" IRCnet "irc.stealth.net" ((6660 6669)))
272   ("IRCnet: Random AU server" IRCnet "au.ircnet.org" 6667)
273   ("IRCnet: Random EU server" IRCnet "eu.ircnet.org" ((6665 6668)))
274   ("IRCnet: Random US server" IRCnet "us.ircnet.org" ((6665 6668)))
275   ("IRCSoulZ: Random server" IRCSoulZ "irc.ircsoulz.net" 6667)
276   ("IRCSul: BR, PR, Maringa" IRCSul "irc.wnet.com.br" 6667)
277   ("IrcTalk: Random server" IrcTalk "irc.irctalk.net" ((6660 6669)))
278   ("Irctoo: Random server" Irctoo "irc.irctoo.net" 6667)
279   ("IRCtown: Random server" IRCtown "irc.irctown.net" ((6666 6669) 7000 ))
280   ("IRCworld: Random server" IRCworld "irc.ircworld.org" 6667)
281   ("ircXtreme: Random server" ircXtreme "irc.ircXtreme.net" ((6660 6669)))
282   ("Israelnet: Random server" Israelnet "irc.israel.net" 6667)
283   ("K0wNet: Random server" K0wNet "irc.k0w.net" ((6660 6669)))
284   ("KDFSnet: Random server" KDFSnet "irc.kdfs.net" ((6667 6669)))
285   ("Kemik: Random server" Kemik "irc.kemik.net" 6667)
286   ("Kewl.Org: Random server" Kewl.Org "irc.kewl.org" (6667 7000 ))
287   ("Kickchat: Random server" Kickchat "irc.kickchat.com" ((6660 6669) 7000 ))
288   ("Kidsworld: Random server" KidsWorld "irc.kidsworld.org" ((6666 6669)))
289   ("Knightnet: AF, ZA, Durban" Knightnet "orc.dbn.za.knightnet.net" (6667 5555 ))
290   ("Knightnet: US, CA, Goldengate" Knightnet "goldengate.ca.us.knightnet.net" (6667 5555 ))
291   ("Konfido.Net: Random server" Konfido.Net "irc.konfido.net" 6667)
292   ("KreyNet: Random server" Kreynet "irc.krey.net" 6667)
293   ("Krono: Random server" Krono "irc.krono.net" ((6660 6669) 7000 ))
294   ("Krushnet: Random server" Krushnet "irc.krushnet.org" 6667)
295   ("LagNet: Random server" LagNet "irc.lagnet.org.za" 6667)
296   ("LagNet: AF, ZA, Cape Town" LagNet "reaper.lagnet.org.za" 6667)
297   ("LagNet: AF, ZA, Johannesburg" LagNet "mystery.lagnet.org.za" 6667)
298   ("Librenet: Random server" Librenet "irc.librenet.net" 6667)
299   ("LinkNet: Random server" LinkNet "irc.link-net.org" ((6667 6669)))
300   ("Liquidized: Random server" Liquidized "irc.liquidized.net" (6667 7000 ))
301   ("M-IRC: Random server" M-IRC "irc.m-sys.org" ((6667 6669)))
302   ("MagicStar: Random server" MagicStar "irc.magicstar.net" 6667)
303   ("Mavra: Random server" Mavra "irc.mavra.net" 6667)
304   ("MediaDriven: Random server" MediaDriven "irc.mediadriven.com" ((6667 6669)))
305   ("mIRC-X: Random server" mIRC-X "irc.mircx.com" (6667 7000 ))
306   ("Morat: Random server" Morat "irc.morat.net" 6667)
307   ("MusicCity: Random server" MusicCity "chat.musiccity.com" 6667)
308   ("Mysteria: Random server" Mysteria "irc.mysteria.net" (6667 7000 ))
309   ("Mysterychat: Random server" Mysterychat "irc.mysterychat.net" ((6667 6669)))
310   ("Mystical: Random server" Mystical "irc.mystical.net" (6667 7000 ))
311   ("Narancs: Random server" Narancs "irc.narancs.com" ((6667 6669) 7000 ))
312   ("Net-France: Random server" Net-France "irc.net-france.com" 6667)
313   ("Nevernet: Random server" Nevernet "irc.nevernet.net" 6667)
314   ("Newnet: Random server" Newnet "irc.newnet.net" ((6665 6667)))
315   ("Nexusirc: Random server" Nexusirc "irc.nexusirc.org" 6667)
316   ("Nightstar: Random server" NightStar "irc.nightstar.net" ((6665 6669)))
317   ("NitrousNet: Random server" NitrousNet "irc.nitrousnet.net" 6667)
318   ("Novernet: Random server" Novernet "irc.novernet.com" ((6665 6669) 7000 ))
319   ("Nullrouted: Random server" Nullrouted "irc.nullrouted.org" ((6666 6669) 7000 ))
320   ("NullusNet: Random server" NullusNet "irc.nullus.net" 6667)
321   ("OpChat: Random server" OpChat "irc.opchat.org" ((6667 6669)))
322   ("Othernet: Random server" Othernet "irc.othernet.org" 6667)
323   ("Othernet: US, FL, Miami" Othernet "miami.fl.us.othernet.org" 6667)
324   ("Othernet: US, MO, StLouis" Othernet "stlouis.mo.us.othernet.org" 6667)
325   ("Otherside: Random server" OtherSide "irc.othersideirc.net" 6667)
326   ("Outsiderz: Random server" Outsiderz "irc.outsiderz.com" 6667)
327   ("OzOrg: AU, Perth" OzOrg "iinet.perth.oz.org" 6667)
328   ("Peacefulhaven: Random server" Peacefulhaven "irc.peacefulhaven.net" ((6660 6669) 7000 ))
329   ("PhazedIRC: Random server" PhazedIRC "irc.phazedirc.net" 6667)
330   ("Philchat: Random server" Philchat "irc.philchat.net" 6667)
331   ("phrozN: Random server" phrozN "irc.phrozn.net" 6667)
332   ("PiNet: Random server" PiNet "irc.praetorians.org" ((6665 6669)))
333   ("Pinoycentral: Random server" Pinoycentral "chat.abs-cbn.com" 6667)
334   ("Planetarion: Random server" Planetarion "irc.planetarion.com" 6667)
335   ("POLNet: Random server" POLNet "irc.ircnet.pl" 6667)
336   ("Psionics: CA, PQ, Montreal" Psionics "chat.psionics.net" ((6660 6669)))
337   ("PTirc: Random server" PTirc "irc.ptirc.com.pt" 6667)
338   ("PTlink: Random server" PTlink "irc.ptlink.net" 6667)
339   ("PTnet: Random server" PTnet "irc.ptnet.org" 6667)
340   ("QChat: Random server" QChat "irc.qchat.net" 6667)
341   ("QuakeNet: Random German server" QuakeNet "de.quakenet.org" ((6667 6669)))
342   ("QuakeNet: Random server" QuakeNet "irc.quakenet.eu.org" ((6667 6669)))
343   ("QuakeNet: Random Swedish server" QuakeNet "se.quakenet.org" ((6667 6669)))
344   ("QuakeNet: Random UK server" QuakeNet "uk.quakenet.org" ((6667 6669)))
345   ("QuakeNet: Random US server" QuakeNet "us.quakenet.org" ((6667 6669)))
346   ("Realirc: Random server" Realirc "irc.realirc.org" 6667)
347   ("RealmNET: Random server" RealmNET "irc.realmnet.com" 6667)
348   ("Rebelchat: Random server" Rebelchat "irc.rebelchat.org" 6667)
349   ("Red-Latina: Random server" Red-Latina "irc.red-latina.org" 6667)
350   ("RedLatona: Random server" RedLatona "irc.redlatona.net" (6667 6668 ))
351   ("Relicnet: Random server" Relicnet "irc.relic.net" 6667)
352   ("Rezosup: Random server" Rezosup "irc.rezosup.org" 6667)
353   ("Risanet: Random server" Risanet "irc.risanet.com" ((6667 6669)))
354   ("Rubiks: Random server" Rubiks "irc.rubiks.net" 6667)
355   ("Rusnet: EU, RU, Tomsk" Rusnet "irc.tsk.ru" ((6667 6669) (7770 7775) ))
356   ("Rusnet: EU, RU, Vladivostok" Rusnet "irc.vladivostok.ru" ((6667 6669) (7770 7775) ))
357   ("Rusnet: EU, UA, Kiev" Rusnet "irc.kar.net" ((6667 6669) (7770 7775) ))
358   ("Sandnet: Random server" Sandnet "irc.sandnet.net" ((6660 6669) 7000 ))
359   ("Scunc: Random server" Scunc "irc.scunc.net" 6667)
360   ("SerbianCafe: Random server" SerbianCafe "irc.serbiancafe.ws" ((6665 6669)))
361   ("SexNet: Random server" SexNet "irc.sexnet.org" 6667)
362   ("ShadowFire: Random server" ShadowFire "irc.shadowfire.org" 6667)
363   ("ShadowWorld: Random server" ShadowWorld "irc.shadowworld.net" 6667)
364   ("SkyNet: Random server" SkyNet "irc.bronowski.pl" ((6666 6668)))
365   ("Slashnet: Random server" Slashnet "irc.slashnet.org" 6667)
366   ("SolarStone: Random server" SolarStone "irc.solarstone.net" ((6660 6669)))
367   ("Sorcerynet: Random server" Sorcery "irc.sorcery.net" (6667 7000 9000 ))
368   ("Sorcerynet: EU, SE, Karlskrona" Sorcery "nexus.sorcery.net" (6667 7000 9000 ))
369   ("Sorcerynet: US, CA, Palo Alto" Sorcery "kechara.sorcery.net" (6667 7000 9000 ))
370   ("SourceIRC: Random server" SourceIRC "irc.sourceirc.net" ((6667 6669) 7000 ))
371   ("SpaceTronix: Random server" SpaceTronix "irc.spacetronix.net" ((6660 6669) 7000 ))
372   ("Spirit-Harmony: Random server" Spirit-Harmony "irc.spirit-harmony.com" ((6661 6669)))
373   ("StarChat: Random server" StarChat "irc.starchat.net" ((6667 6669) 7000 ))
374   ("StarEquinox: Random server" StarEquinox "irc.starequinox.net" ((6660 6669)))
375   ("StarLink: Random server" Starlink "irc.starlink.net" ((6660 6669)))
376   ("StarLink-irc: Random server" starlink-irc "irc.starlink-irc.org" 6667)
377   ("StarWars-IRC: Random server" StarWars-IRC "irc.starwars-irc.net" ((6663 6667)))
378   ("Stormdancing: Random server" Stormdancing "irc.stormdancing.net" ((6664 6669) 7000 9000 ))
379   ("Superchat: Random server" Superchat "irc.superchat.org" ((6660 6668)))
380   ("Sysopnet: Random server" Sysopnet "irc.sysopnet.org" ((6666 6668)))
381   ("Telstra: Random server" Telstra "irc.telstra.com" ((6667 6669)))
382   ("TR-net: EU, TR, Ankara" TR-net "irc.dominet.com.tr" 6667)
383   ("TR-net: EU, Tr, Istanbul" TR-net "irc.teklan.com.tr" 6667)
384   ("Tri-net: Random server" Tri-net "irc.tri-net.org" 6667)
385   ("TriLink: Random server" TriLink "irc.ft4u.net" 6667)
386   ("TurkishChat: Random server" TurkishChat "irc.turkishchat.org" ((6660 6669) 7000 ))
387   ("UberNinja: Random server" UberNinja "irc.uberninja.net" ((6667 6669)))
388   ("UICN: Random server" UICN "irc.uicn.net" 6667)
389   ("UltraIRC: Random server" UltraIRC "irc.ultrairc.net" 6667)
390   ("UnderChat: Random server" UnderChat "irc.underchat.it" ((6660 6669) 7000 ))
391   ("Undernet: CA, ON, Toronto" Undernet "toronto.on.ca.undernet.org" ((6661 6669)))
392   ("Undernet: CA, QC, Montreal" Undernet "montreal.qu.ca.undernet.org" ((6660 6669)))
393   ("Undernet: EU, AT, Graz" Undernet "graz.at.eu.undernet.org" ((6661 6669)))
394   ("Undernet: EU, BE, Antwerp" Undernet "flanders.be.eu.undernet.org" ((6660 6669)))
395   ("Undernet: EU, BE, Brussels" Undernet "brussels.be.eu.undernet.org" 6667)
396   ("Undernet: EU, CH, Geneva" Undernet "geneva.ch.eu.undernet.org" ((6660 6669) 7777 8000 ))
397   ("Undernet: EU, FR, Caen" Undernet "caen.fr.eu.undernet.org" ((6666 6669)))
398   ("Undernet: EU, NL, Diemen" Undernet "diemen.nl.eu.undernet.org" ((6660 6669)))
399   ("Undernet: EU, NL, Haarlem" Undernet "haarlem.nl.eu.undernet.org" ((6660 6669)))
400   ("Undernet: EU, NO, Oslo" Undernet "oslo.no.eu.undernet.org" ((6660 6669)))
401   ("Undernet: EU, SE, Stockholm" Undernet "stockholm.se.eu.undernet.org" ((6666 6669)))
402   ("Undernet: EU, UK, Surrey" Undernet "surrey.uk.eu.undernet.org" ((6660 6669)))
403   ("Undernet: US, AZ, Mesa" Undernet "mesa.az.us.undernet.org" ((6665 6667)))
404   ("Undernet: US, CA, San Diego" Undernet "sandiego.ca.us.undernet.org" ((6660 6670)))
405   ("Undernet: US, DC, Washington" Undernet "washington.dc.us.undernet.org" ((6660 6669)))
406   ("Undernet: US, KS, Manhattan" Undernet "manhattan.ks.us.undernet.org" ((6660 6669)))
407   ("Undernet: US, NV, Las Vegas" Undernet "lasvegas.nv.us.undernet.org" ((6660 6669)))
408   ("Undernet: US, TX, Austin" Undernet "austin.tx.us.undernet.org" ((6660 6669)))
409   ("Undernet: US, UT, Saltlake" Undernet "saltlake.ut.us.undernet.org" ((6660 6669)))
410   ("Undernet: US, VA, Arlington" Undernet "arlington.va.us.undernet.org" ((6660 6669)))
411   ("Undernet: US, VA, McLean" Undernet "mclean.va.us.undernet.org" ((6666 6669)))
412   ("Undernet: Random EU server" Undernet "eu.undernet.org" 6667)
413   ("Undernet: Random US server" Undernet "us.undernet.org" 6667)
414   ("UnderZ: Random server" UnderZ "irc.underz.org" ((6667 6668)))
415   ("UniChat: Random server" UniChat "irc.uni-chat.net" 6667)
416   ("UnionLatina: Random server" UnionLatina "irc.unionlatina.org" 6667)
417   ("Univers: Random server" Univers "irc.univers.org" ((6665 6669)))
418   ("UnixR: Random server" UnixR "irc.unixr.net" ((6667 6669)))
419   ("Vidgamechat: Random server" Vidgamechat "irc.vidgamechat.com" 6667)
420   ("VirtuaNet: Random server" VirtuaNet "irc.virtuanet.org" ((6660 6669) 7000 ))
421   ("Vitamina: Random server" Vitamina "irc.vitamina.ca" 6667)
422   ("Voila: Random server" Voila "irc.voila.fr" 6667)
423   ("Wahou: Random server" Wahou "irc.wahou.org" ((6665 6669)))
424   ("Warpednet: Random server" Warpednet "irc.warped.net" 6667)
425   ("Weaklinks: Random server" Weaklinks "irc.weaklinks.net" ((6667 6669)))
426   ("Webnet: Random server" Webnet "irc.webchat.org" ((6667 6669) 7000 ))
427   ("Webnet: US, CA, Santa Clara" Webnet "webmaster.ca.us.webchat.org" ((6661 6669)))
428   ("WinChat: Random server" WinChat "irc.winchat.net" ((6661 6669)))
429   ("WinIRC: Random server" WinIRC "irc.winirc.org" ((6667 6669) 4400 ))
430   ("WorldIRC: Random server" WorldIRC "irc.worldirc.org" ((6660 6667)))
431   ("WyldRyde: Random server" WyldRyde "irc.wyldryde.net" ((6666 6669)))
432   ("XentoniX: Random server" XentoniX "irc.xentonix.net" ((6661 6669)))
433   ("Xevion: Random server" Xevion "irc.xevion.net" (6667 7000 ))
434   ("XNet: Random server" XNet "irc.xnet.org" 6667)
435   ("XWorld: Random server" XWorld "irc.xworld.org" 6667)
436   ("ZAnet Net: Random server" ZAnetNet "irc.zanet.net" 6667)
437   ("ZAnet Org: UK, London" ZAnetOrg "mystic.zanet.org.za" 6667)
438   ("ZiRC: Random server" ZiRC "irc.zirc.org" ((6660 6669)))
439   ("ZUHnet: Random server" ZUHnet "irc.zuh.net" 6667)
440   ("Zurna: Random server" Zurna "irc.zurna.net" 6667))
441   "Alist of irc servers. (NAME NET HOST PORTS) where
442 NAME is a name for that server,
443 NET is a symbol indicating to which network from `erc-networks-alist' this
444   server corresponds,
445 HOST is the servers hostname and
446 PORTS is either a number, a list of numbers, or a list of port ranges."
447   :group 'erc-networks
448   :type 'sexp)
449
450 (defcustom erc-networks-alist
451   '((4-irc "4-irc.com")
452     (A5KNet "a5knet.com")
453     (AbleNet "ablenet.org")
454     (Accessirc "accessirc.net")
455     (Acestar "acestar.org")
456     (Action-IRC "action-irc.net")
457     (AfterNET "afternet.org")
458     (Alternativenet "altnet.org")
459     (AmigaNet "amiganet.org")
460     (AngelEyez "angeleyez.net")
461     (Anothernet "another.net")
462     (ArabChat "arabchat.org")
463     (AsiaTalk "asiatalk.org")
464     (AstroLink "astrolink.org")
465     (Asylumnet "asylumnet.org")
466     (Austnet "austnet.org")
467     (AwesomeChat "awesomechat.net")
468     (Awesomechristians "awesomechristians.com")
469     (Axenet "axenet.org")
470     (Beyondirc "beyondirc.net")
471     (BGIRC "bulgaria.org")
472     (Blabbernet "blabber.net")
473     (Blitzed "blitzed.org")
474     (BrasIRC "brasirc.net")
475     (BRASnet "brasnet.org")
476     (BubbleNet "bubblenet.org")
477     (CCnet "christian-chat.net")
478     (Chat-Net "chat-net.org")
479     (Chat-Solutions "chat-solutions.org")
480     (Chatcafe "chatcafe.net")
481     (Chatchannel "chatchannel.org")
482     (ChatCircuit "chatcircuit.com")
483     (Chatlink "chatlink.org")
484     (Chatnet "chatnet.org")
485     (ChatNut "chatnut.net")
486     (Chatpinoy "chatpinoy.com")
487     (ChatPR "chatpr.org")
488     (Chatroom "chatroom.org")
489     (Chatster "chatster.org")
490     (ChatX "chatx.net")
491     (China263 "263.net")
492     (Cineplex1 "cineplex1.com")
493     (CNN "cnn.com")
494     (CobraNet "cobra.net")
495     (Coolchat "coolchat.net")
496     (Criten "criten.net")
497     (Cyberchat "cyberchat.org")
498     (CyGanet "cyga.net")
499     (DALnet "dal.net")
500     (Dark-Tou-Net "d-t-net.de")
501     (Darkfire "darkfire.net")
502     (DarkMyst "darkmyst.org")
503     (Darkserv "darkserv.net")
504     (Darksystem "darksystem.com")
505     (Darktree "darktree.net")
506     (DayNet "daynet.org")
507     (Deepspace "deepspace.org")
508     (Different "different.net")
509     (Digarix "digarix.net")
510     (Digatech "digatech.net")
511     (Digital-Base "digital-base.net")
512     (Digitalirc "digitalirc.net")
513     (Discussioni "discussioni.org")
514     (DorukNet "doruk.net.tr")
515     (DWChat "dwchat.net")
516     (Dynastynet "dynastynet.net")
517     (EFnet nil)
518     (EgyptianIRC "egyptianirc.net")
519     (Eircnet "eircnet.org")
520     (Eleethal "eleethal.com")
521     (EntertheGame "enterthegame.com")
522     (EpiKnet "epiknet.org")
523     (EsperNet "esper.net")
524     (Esprit "esprit.net")
525     (euIRC "euirc.net")
526     (Evilzinc "evilzinc.net")
527     (ExodusIRC "exodusirc.net")
528     (FDFnet "fdfnet.net")
529     (FEFnet "fef.net")
530     (Financialchat "financialchat.com")
531     (Forestnet "forestnet.org")
532     (ForeverChat "foreverchat.net")
533     (Fraggers "fraggers.co.uk")
534     (FreedomChat "freedomchat.net")
535     (FreedomIRC "freedomirc.net")
536     (freenode "freenode.net")
537     (FunNet "funnet.org")
538     (GalaxyNet "galaxynet.org")
539     (Gamesnet "gamesnet.net")
540     (GammaForce "gammaforce.org")
541     (GIKInet "giki.edu.pk")
542     (GizNet "giznet.org")
543     (Globalchat "globalchat.org")
544     (GlobIRC "globirc.net")
545     (Goldchat "goldchat.nl")
546     (Goodchatting "goodchatting.com")
547     (GravityLords "gravitylords.net")
548     (GRnet "irc.gr")
549     (GulfChat "gulfchat.net")
550     (HabberNet "habber.net")
551     (HanIRC "hanirc.org")
552     (Hellenicnet "mirc.gr")
553     (IceNet "icenet.org.za")
554     (ICQnet "icq.com")
555     (iip "anon.iip")
556     (Infatech "infatech.net")
557     (Infinity "infinity-irc.org")
558     (Infomatrix "infomatrix.net")
559     (Inside3D "inside3d.net")
560     (InterlinkChat "interlinkchat.net")
561     (IRC-Chile "irc.cl")
562     (IRC-Hispano "irc-hispano.org")
563     (IRCchat "ircchat.tk")
564     (IRCGate "ircgate.net")
565     (IRCGeeks "ircgeeks.org")
566     (IRChat "irchat.net")
567     (IrcLordz "irclordz.com")
568     (IrcMalta "ircmalta.org")
569     (IRCnet nil)
570     (IRCSoulZ "ircsoulz.net")
571     (IRCSul "wnet.com.br")
572     (IrcTalk "irctalk.net")
573     (Irctoo "irctoo.net")
574     (IRCtown "irc.irctown.net")
575     (IRCworld "ircworld.org")
576     (ircXtreme "ircXtreme.net")
577     (Israelnet "israel.net")
578     (K0wNet "k0w.net")
579     (KDFSnet "kdfs.net")
580     (Kemik "kemik.net")
581     (Kewl\.Org "kewl.org")
582     (Kickchat "kickchat.com")
583     (KidsWorld "kidsworld.org")
584     (Knightnet "knightnet.net")
585     (Konfido\.Net "konfido.net")
586     (Kreynet "krey.net")
587     (Krono "krono.net")
588     (Krushnet "krushnet.org")
589     (LagNet "lagnet.org.za")
590     (Librenet "librenet.net")
591     (LinkNet "link-net.org")
592     (Liquidized "liquidized.net")
593     (M-IRC "m-sys.org")
594     (MagicStar "magicstar.net")
595     (Mavra "mavra.net")
596     (MediaDriven "mediadriven.com")
597     (mIRC-X "mircx.com")
598     (Morat "morat.net")
599     (MusicCity "musiccity.com")
600     (Mysteria "mysteria.net")
601     (Mysterychat "mysterychat.net")
602     (Mystical "mystical.net")
603     (Narancs "narancs.com")
604     (Net-France "net-france.com")
605     (Nevernet "nevernet.net")
606     (Newnet "newnet.net")
607     (Nexusirc "nexusirc.org")
608     (NightStar "nightstar.net")
609     (NitrousNet "nitrousnet.net")
610     (Novernet "novernet.com")
611     (Nullrouted "nullrouted.org")
612     (NullusNet "nullus.net")
613     (OpChat "opchat.org")
614     (Openprojects "openprojects.net")
615     (Othernet "othernet.org")
616     (OtherSide "othersideirc.net")
617     (Outsiderz "outsiderz.com")
618     (OzOrg "oz.org")
619     (Peacefulhaven "peacefulhaven.net")
620     (PhazedIRC "phazedirc.net")
621     (Philchat "philchat.net")
622     (phrozN "phrozn.net")
623     (PiNet "praetorians.org")
624     (Pinoycentral "abs-cbn.com")
625     (Planetarion "planetarion.com")
626     (POLNet "ircnet.pl")
627     (Psionics "psionics.net")
628     (PTirc "ptirc.com.pt")
629     (PTlink "ptlink.net")
630     (PTnet "ptnet.org")
631     (QChat "qchat.net")
632     (QuakeNet "quakenet.org")
633     (Realirc "realirc.org")
634     (RealmNET "realmnet.com")
635     (Rebelchat "rebelchat.org")
636     (Red-Latina "red-latina.org")
637     (RedLatona "redlatona.net")
638     (Relicnet "relic.net")
639     (Rezosup "rezosup.org")
640     (Risanet "risanet.com")
641     (Rubiks "rubiks.net")
642     (Rusnet "nil")
643     (Sandnet "sandnet.net")
644     (Scunc "scunc.net")
645     (SerbianCafe "serbiancafe.ws")
646     (SexNet "sexnet.org")
647     (ShadowFire "shadowfire.org")
648     (ShadowWorld "shadowworld.net")
649     (SkyNet "bronowski.pl")
650     (SlashNET "slashnet.org")
651     (SolarStone "solarstone.net")
652     (Sorcery "sorcery.net")
653     (SourceIRC "sourceirc.net")
654     (SpaceTronix "spacetronix.net")
655     (Spirit-Harmony "spirit-harmony.com")
656     (StarChat "starchat.net")
657     (StarEquinox "starequinox.net")
658     (Starlink "starlink.net")
659     (starlink-irc "starlink-irc.org")
660     (StarWars-IRC "starwars-irc.net")
661     (Stormdancing "stormdancing.net")
662     (Superchat "superchat.org")
663     (Sysopnet "sysopnet.org")
664     (Telstra "telstra.com")
665     (TR-net "dominet.com.tr")
666     (Tri-net "tri-net.org")
667     (TriLink "ft4u.net")
668     (TurkishChat "turkishchat.org")
669     (UberNinja "uberninja.net")
670     (UICN "uicn.net")
671     (UltraIRC "ultrairc.net")
672     (UnderChat "underchat.it")
673     (Undernet "undernet.org")
674     (UnderZ "underz.org")
675     (UniChat "irc.uni-chat.net")
676     (UnionLatina "unionlatina.org")
677     (Univers "univers.org")
678     (UnixR "unixr.net")
679     (Vidgamechat "vidgamechat.com")
680     (VirtuaNet "virtuanet.org")
681     (Vitamina "vitamina.ca")
682     (Voila "voila.fr")
683     (Wahou "wf-net.org")
684     (Warpednet "warped.net")
685     (Weaklinks "weaklinks.net")
686     (Webnet "webchat.org")
687     (WinChat "winchat.net")
688     (WinIRC "winirc.org")
689     (WorldIRC "worldirc.org")
690     (WyldRyde "wyldryde.net")
691     (XentoniX "xentonix.net")
692     (Xevion "xevion.net")
693     (XNet "xnet.org")
694     (XWorld "xworld.org")
695     (ZAnetNet "zanet.net")
696     (ZAnetOrg "zanet.org.za")
697     (ZiRC "zirc.org")
698     (ZUHnet "zuh.net")
699     (Zurna "zurna.net"))
700   "Alist of IRC networks. (NET MATCHER) where
701 NET is a symbol naming that IRC network and
702 MATCHER is used to find a corresponding network to a server while connected to
703   it. If it is regexp, it's used to match against `erc-server-announced-name'.
704   It can also be a function (predicate). Then it is executed with the
705   server buffer as current-buffer."
706   :group 'erc-networks
707   :type '(repeat
708           (list :tag "Network"
709                 (symbol :tag "Network name")
710                 (choice :tag "Network's common server ending"
711                  (regexp)
712                  (const :tag "Network has no common server ending" nil)))))
713
714 (defvar erc-network nil
715   "The name of the network you are connected to (a symbol).")
716 (make-variable-buffer-local 'erc-network)
717
718 ;; Functions:
719
720 ;;;###autoload
721 (defun erc-determine-network ()
722   "Return the name of the network or \"Unknown\" as a symbol.  Use the
723 server parameter NETWORK if provided, otherwise parse the server name and
724 search for a match in `erc-networks-alist'."
725   ;; The server made it easy for us and told us the name of the NETWORK
726   (if (assoc "NETWORK" erc-server-parameters)
727       (intern (cdr (assoc "NETWORK" erc-server-parameters)))
728     (or
729      ;; Loop through `erc-networks-alist' looking for a match.
730      (let ((server (or erc-server-announced-name erc-session-server)))
731        (loop for (name matcher) in erc-networks-alist
732              when (and matcher
733                        (string-match (concat matcher "\\'") server))
734              do (return name)))
735      'Unknown)))
736
737 (defun erc-network ()
738   "Return the value of `erc-network' for the current server."
739   (with-current-buffer (erc-server-buffer) erc-network))
740
741 (defun erc-current-network ()
742   "Deprecated.  Use `erc-network' instead.  Return the name of this server's
743 network as a symbol."
744   (with-current-buffer (erc-server-buffer)
745     (intern (downcase (symbol-name erc-network)))))
746
747 (erc-make-obsolete 'erc-current-network 'erc-network
748                    "Obsolete since erc-nets 1.5")
749
750 (defun erc-network-name ()
751   "Returns the name of the current network as a string."
752   (with-current-buffer (erc-server-buffer) (symbol-name erc-network)))
753
754 (defun erc-set-network-name (proc parsed)
755   "Set `erc-network' to the value returned by `erc-determine-network'."
756   (unless erc-server-connected
757     (setq erc-network (erc-determine-network)))
758   nil)
759
760 (defun erc-unset-network-name (nick ip reason)
761   "Set `erc-network' to nil."
762   (setq erc-network nil)
763   nil)
764
765 (add-hook 'erc-server-375-functions 'erc-set-network-name)
766 (add-hook 'erc-server-422-functions 'erc-set-network-name)
767 (add-hook 'erc-disconnected-hook 'erc-unset-network-name)
768
769 (defun erc-ports-list (ports)
770   "Return a list of PORTS.
771
772 PORTS should be a list of either:
773   A number, in which case it is returned a list.
774   Or a pair of the form (LOW HIGH), in which case, a list of all the
775   numbers between LOW and HIGH (inclusive) is returned.
776
777 As an example:
778   (erc-ports-list '(1)) => (1)
779   (erc-ports-list '((1 5))) => (1 2 3 4 5)
780   (erc-ports-list '(1 (3 5))) => (1 3 4 5)"
781   (let (result)
782     (dolist (p ports)
783       (cond ((numberp p)
784              (push p result))
785             ((listp p)
786              (setq result (nconc (loop for i from (cadr p) downto (car p)
787                                        collect i)
788                                  result)))))
789     (nreverse result)))
790
791 ;;;###autoload
792 (defun erc-server-select ()
793   "Interactively select a server to connect to using `erc-server-alist'."
794   (interactive)
795   (let* ((completion-ignore-case t)
796          (net (intern
797                (completing-read "Network: "
798                                 (erc-delete-dups
799                                  (mapcar (lambda (x)
800                                            (list (symbol-name (nth 1 x))))
801                                          erc-server-alist)))))
802          (srv (assoc
803                (completing-read "Server: "
804                                 (delq nil
805                                       (mapcar (lambda (x)
806                                                 (when (equal (nth 1 x) net)
807                                                   x))
808                                               erc-server-alist)))
809                erc-server-alist))
810          (host (nth 2 srv))
811          (ports (if (listp (nth 3 srv))
812                     (erc-ports-list (nth 3 srv))
813                   (list (nth 3 srv))))
814          (port (nth (random (length ports)) ports)))
815     (erc host port erc-nick erc-user-full-name t)))
816
817 ;;; The following experimental
818 ;; It does not work yet, help me with it if you
819 ;; think it is worth the effort.
820
821 (defvar erc-settings
822   '((pals freenode ("kensanata" "shapr" "anti\\(fuchs\\|gone\\)"))
823     (format-nick-function (freenode "#emacs") erc-format-@nick))
824   "Experimental: Alist of configuration options.
825 The format is (VARNAME SCOPE VALUE) where
826 VARNAME is a symbol identifying the configuration option,
827 SCOPE is either a symbol which identifies an entry from
828   `erc-networks-alist' or a list (NET TARGET) where NET is a network symbol and
829   TARGET is a string identifying the channel/query target.
830 VALUE is the options value.")
831
832 (defun erc-get (var &optional net target)
833   (let ((items erc-settings)
834         elt val)
835     (while items
836       (setq elt (car items)
837             items (cdr items))
838       (when (eq (car elt) var)
839         (cond ((and net target (listp (nth 1 elt))
840                     (eq net (car (nth 1 elt)))
841                     (string-equal target (nth 1 (nth 1 elt))))
842                (setq val (nth 2 elt)
843                      items nil))
844               ((and net (eq net (nth 1 elt)))
845                (setq val (nth 2 elt)
846                      items nil))
847               ((and (not net) (not target) (not (nth 1 elt)))
848                (setq val (nth 2 elt)
849                      items nil)))))
850     val))
851
852 (erc-get 'pals 'freenode)
853
854
855 (provide 'erc-nets)
856
857 ;;; erc-nets.el ends here
858 ;;
859 ;; Local Variables:
860 ;; indent-tabs-mode: t
861 ;; tab-width: 8
862 ;; End:
863
864 ;; arch-tag: 68cccabd-f66b-456c-9abe-5f993a2dc91c