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