IRC is the Internet Relay Chat is a protocol for interactive chatting between internet users and was developed originally in Finland for use in the university network by Jarkko Oikarinen. See http://www.irc.org/ and http://irchelp.org/ for more information. ---- Tcl channels on IRC: * Freenode (meta-server: irc.freenode.net), #tcl (contains [ircbridge], which bridges Tcler's Chat to IRC). Probably the best area for Tcl-related chat. * IRCnet (info: http://www.ircnet.org/ , http://www.ircnet.com/ ), #tcl (mostly eggdrop scripters), #tcltk * DALnet (meta-server: irc.dal.net, #tcl (eggdrop), #tcltk * EFnet (info: http://www.efnet.org/ , http://www.efnet.net ), #tcl (the intelligent crowd will wake up if you ask something interesting) ---- There is a pure Tcl IRC server under the BSD license here: http://www.hping.org/tclircd/. ---- For some reason, Tcl/Tk seems to be quite popular among client authors - here are the ones I know about: What: BitchX Where: http://www.bitchx.org Description: ANSI color IRC client. Updated: 08/2002 Contact: mailto:edwards@bitchx.org (Colten D. Edwards) What: ChatIT Where: http://sourceforge.net/projects/chat-it/ Description: Cross platform IRC client that aims to support all IRC protocols. Written in Tcl. Updated: 09/2001 Contact: See web site SITE SAYS IN 02/2004: This Project Has Not Released Any Files Note however that many SF.net projects work directly from the CVS repository without regular releases occuring. In this particular case, they have put nothing in their CVS repository either. Too bad - appears to be [vaporware]. What: dirc Where: http://www.dircchat.com/ Description: ActiveX and windows based IRC client. Updated: 09/2002 Contact: info@algenta.com (Kemal Hadimli) What: DMAT Where: http://home.rhein-zeitung.de/%7Eeazy/dmat/dmat.html Description: IRC proxy which allows you to detach from your session and then reattach to the session using a different client or changing client's host. Written in Tcl. Currently at version 0.25. Updated: 06/2000 Contact: mailto:cbednare@rhein-zeitung.de +++++++++++++++++++++++++++ Eembot Dead Link ++++++++++++++++++++++++++++++++++++++ What: Eembot Where: http://www.cs.vu.nl/%7Eerbruijn/ Description: An IRC client with Tcl, terminal, X11, Windows 95 and WWW interfaces. Updated: 04/1998 Contact: mailto:erbruijn@cs.vu.nl (Emiel Bruijntjes) +++++++++++++++++++++++++++ Go-IRC Dead Link ++++++++++++++++++++++++++++++++++++++ What: Go-IRC Where: No longer available for download from the author Description: A Tcl based IRC client, integrating Microsoft Internet Explorer, Active-X, CTCP/2, etc. Designed for Windows 96/Windows NT 4.0. Updated: 07/1997 Contact: mailto:jamie@thehunters.org (Jamie Hunter) What: Hermes fserv Where: http://devel.degoeij.org/ Description: Hermes fserv is a Tcl script for use with the BitchX IRC client to provide ftp-like access to local file archives. Currently at version 0.1.6 . Updated: 08/2001 Contact: mailto:j.ellerbroek@student.tudelft.nl +++++++++++++++++++++++++++ JiMM Dead Link ++++++++++++++++++++++++++++++++++++++ What: JiMM Where: http://www.atlink.it/personal/avatar/Jnews.html Description: Full featured Tcl/Tk Internet Relay Chat (IRC) client. Updated: 06/1997 Contact: mailto:dasnake@freenet.hut.fi What: Kalich Where: http://kalich.sourceforge.net/ Description: Intelligent IRC bot written in Tcl. Currently at version 0.05. Updated: 08/2001 Contact: mailto:l3ech@l3ech.com What: keirc Where: http://www.indonesia-undernet.org/keirc/ http://user.cs.tu-berlin.de/%7Esalim/keirc/download/ Description: KDE based IRC (Internet Relay Chat) client program. Uses Tcl 7.5 for scripting. Supports multiclient, multicolor and font, DCC chat and file, small webserver, sound, ignore list, communicates with Netscape, etc. Updated: 04/1999 Contact: mailto:sj039su@uni-duisburg.de (Eko Bono) What: MilkBot Where: http://www.cowofdoom.com/archive/pub/aim/milkbot.tar.gz ftp://ftp.cowofdoom.com/pub/aim/milkbot.tar.gz Description: Eggdrop Tcl script that connects the Eggdrop IRC channel bot to AIM. Updated: 07/1999 Contact: mailto:wwoods@WAM.UMD.EDU (Will Woods) What: NetPlug Where: http://www.box.eu.org/%7Edl/netplug.html Description: An extensible multi-connection, multi-protocol network client program, written in pure Tcl/Tk. Currently supports an IRC client and a GO game client, as well as a memory plugin, an async event driven file pipeline and a TCP/IP gateway and multiplexer. Can be the basis of a tool to debug various networking services. Uses Tcl 7.5/Tk 4.1 and newer platforms. Can run on Unix, Windows and Macintosh platforms. Updates on a regular basis. V0.62 works with Tcl 8. Updated: 04/1997 Contact: mailto:L@demailly.com (Laurent Demailly) What: Netscape client Tcl Tclets (Demailly) Where: http://www.lyot.obspm.fr/%7Edl/Tclets/ Description: A go game, an adaptive optics simulation demo, and an IRC Tclet are all available at this time. are available at this time. Updated: 06/1997 Contact: mailto:L@demailly.com (Laurent Demailly) What: Progeny Where: http://www.fdcor.net/misc/progeny.shtml Description: Altenrative to Infobot, written solely in Tcl. Updated: 09/2001 Contact: mailto:concept@fdcor.net What: QuIRC Where: http://quirc.sourceforge.net/ http://quirc.org/ http://quirc.org/quirc.tar.gz Description: X based IRC client with full Tcl/Tk scripting support. Coded in C/C++ for speed and some advanced features. Supports use of themes, and socks5. Currently at version v0.9.82 . Updated: 02/2000 Contact: mailto:hynato@quirc.org What: Quotesaq Where: http://rad.capecod.net/quote/ http://rad.capecod.net/quote/Quotesaq-v2.1.tar.gz Description: Advanced quote system for Eggdrop IRC bots. Uses Tcl script to interface to Perl scripts. Updated: 07/1999 Contact: mailto:RADKade1@i-hate-the-internet.com What: savIRC Where: http://www.savirc.com/ Description: IRC client for both Linux and Windows, supporting multiple server connections, SOCKS5 connections (Server __and__ DCC), CTCP, DCC, ignore and notify lists, mIRC colors, nick completion, dedicated windows, logs, custom popups, pre-defined events, Tcl/Tk scripting. Currently at version 1.99 . Updated: 08/2004 Contact: mailto:sander@savirc.com What: TclBot Where: http://www.crosswinds.net/%7Eyeutham/ Description: Tcl IRC bot being developed. Curently at v0.4.0. Provides structure for providing support functions such as uptime, dictionary, fact triggers, fortune, etc. Updated: 07/1999 Contact: mailto:yeutham@crosswinds.net What: tcl file server Where: http://dejavo.n3.net/ Description: tclfserv is a IRC File server written in Tcl. Currently at version 3.3-7 . Updated: 08/2001 Contact: mailto:dejavo at PunkAss dot com> What: tkirc Where: http://www.north.de/%7Eatte/tkirc/ http://www.leo.org/pub/comp/networking/irc/clients/unix/ircII/ http://ftp.funet.fi/pub/unix/irc/ http://www.tenebrous.com/ (???) Description: Graphical front end for ircII. Requires ircII and Tcl/Tk 8.x. The tenebrous site is said to have a patch to allow you to change the small max-topic length in tkIRC. Currently at version 2.46. Updated: 02/2000 Contact: mailto:atte@gecko.north.de What: Tomahawk Where: http://sf.net/projects/tomasoft/ Description: An effort to build a better Tcl-enabled IRC client. Updated: 08/2002 Contact: mailto:davygrvy@pobox.com (David Gravereaux) What: XiRCON Where: http://www.xircon.com/ http://sourceforge.net/project/showfiles.php?group_id=1616&package_id=27045 Description: beta release IRC client for Windows 95/NT. The author no longer is working on this application. Contact #xircon on the efnet IRC network for help with the client. D. Gravereaux has also provided the above 'hack' so that XiRCON works with Tcl v8.1.0 and beyond. Updated: 08/2002 Contact: mailto:mhanson@servtech.com (Mark Hanson) mailto:davygrvy@pobox.com (David Gravereaux) What: Zipper Where: http://users.vnet.net/ashman/zipper/ http://users.vnet.net/ashman/zipper/zipper-1.62.tar.gz Description: Zipper is a Linux X/Tcl/Tk based IRC client. Supports many functions including scripting, DCC Transfers and Chats, Colors, sounds, and many others. Updated: 10/1998 Contact: mailto:wolfie@vnet.net (Ash Bowers) What: Zircon Where: http://catless.ncl.ac.uk/Programs/Zircon/ ftp://catless.ncl.ac.uk/pub/zircon-1.18.256.tar.gz ftp://coombs.anu.edu.au/pub/irc/tcl/ Description: A Tk interface to IRC. Does not permit commercial use. Updated: 06/2002 Contact: mailto:zircon-request@catless.newcastle.ac.uk mailto:Lindsay.Marshall@newcastle.ac.uk What: NeoSoft Tcl Where: ftp://ftp.procplace.com/pub/tcl/neosoft/neotcl/ Description: Tcl 7.6 and 8.0 set of commands and libraries providing interfaces to disk-based btree and hashtables, TCP/IP server-client objects, along with examples of an IRC robot object, RFC931 authentication object, support for WWW CGI scripts, WWW log file parsing. Also, this includes file requestors, dialog boxes, pull-down menus, class libraries for databases, listboxes, a Tk notepad, progress notifiers, UDP-based object sharing, and more. Package includes Tcl, Tk, itcl, Tcl-DP, tclX, color pixmap and GIF support, and Expect. Updated: 10/1998 Contact: See web site NOTE: [Karl Lehenbauer], Neosoft's Tcl champion, has moved on to procplace. Contact him regarding the status of this software. ---- What: RoxIRC Where: http://roxirc.lighter.net/ Description: Another Tcl/Tk IRC client. BSD licensed. Updated: 11/2004 Contact: roxirc@lighter.net What: mbot Where: http://freshmeat.net/projects/mbot/ Description: C++ IRC bot with embedded Tcl scripting. Partially compatible with eggdrop. Currently at version 0.0 . Updated: 07/2003 Contact: See web site ---- The most popular IRC clients are probably mirc for windows and xchat for Linux. Although XiRCON is most definitely the most scriptable windows client. A XiRCON clone is being built :) Jump to [XiRCON-II] ---- A valuable tutorial [http://purl.org/mini/tcl/1304] that's more rigorous than much IRC programming is Peterre's "How to write eggdrop scripts ..." [http://www.peterre.com/characters.html]. See also [Writing Tcl scripts for eggdrop] ---- 29Sep02 [Jacob Levy] A Tcl library providing basic IRC client side functionality is now part of the Tcl Library. Also note the "IRK" Tcl IRC library I wrote [http://sourceforge.net/projects/irk/], it's just in the concept stage, I'd call this code Alpha quality. If someone wanted to pick up where I left off... :) ---- [RS] tried this little example to post one message to #tcl: proc IRC msg { set fd [socket irc.freenode.org 6667] puts $fd "NICK tcltest" puts $fd "USER tcltest 0 - :my real name" puts $fd "JOIN #tcl" puts $fd "PRIVMSG #tcl :$msg" close $fd } ... and to write a clock bot (that posts my local time every hour) is as easy as this: proc every {ms body} {eval $body; after $ms [info level 0]} every 3600000 {IRC [clock format [clock sec] -format %H:%M:%S]} ---- [SS] 5Dec2004, the following is a minimal Tk IRC client (44 lines of code) with the hardcoded server/channel info to enter the Tclers chat: package require Tk set ::server irc.freenode.org set ::chan #tcl text .text -width 50 -height 40 entry .cmd -width 50 grid .text grid .cmd bind .cmd usercommand proc send str { puts $::fd $str flush $::fd } set ::fd [socket $::server 6667] set ::me guest[expr int(rand()*10000)] send "NICK $::me" send "USER $::me 0 * :PicoIRC user" send "JOIN $::chan" fileevent $::fd readable recv proc recv {} { gets $::fd line puts $line if {[regexp {:([^!]*)![^ ].* +PRIVMSG ([^ ].*) +:(.*)} $line -> \ nick target msg]} \ { .text insert end "<$nick> $msg\n" .text yview end } } proc usercommand {} { set cmd [.cmd get] .cmd delete 0 end .text insert end "<$::me> $cmd\n" .text yview end send "PRIVMSG $::chan :$cmd" } ---- See [picoIRC 0.2] for [RS]'s variation on the above ---- [Category Internet] | [Category Acronym] | [Category Application]