Previous Section  < Day Day Up >  Next Section

How This Book Is Organized

There are several different areas you need to master to become a true IRC hacker. At the core is the conceptual model of IRC, while layered around that are the protocols and clients used to access the IRC networks. The book is divided into 15 chapters, starting with the basics and progressing to cover interesting hacks involving bots and client enhancements:

Chapter 1, Connecting to IRC

Before embarking on the journey through the rest of the hacks, it's important to make sure you know how to connect to IRC. This chapter shows you how to use a variety of IRC clients, on a variety of operating systems, to connect to an IRC server and join the #irchacks channel.

Chapter 2, Using IRC

To use IRC effectively, you need to be aware of how users, channels, servers, and networks fit into the equation. This chapter also introduces you to the common abbreviations and acronyms that you are likely to encounter on a foray through IRC. You will also learn how to protect your channel and nickname using Services.

Chapter 3, Users and Channels

One common question asked by IRC newcomers is, "What channels should I join?" This chapter shows you how to find channels that are relevant to you, either by searching on a specific network or through all the networks in the world. You will also be shown how to perform some investigative work to find out where a user is from and to generate amusing statistics for your channel.

Chapter 4, Enhancing IRC Clients

IRC clients have a lot of functionality built in, and this chapter helps to expose those features. Some of these hacks make use of client scripts to perform useful tasks that would otherwise not be possible. As you read through this chapter, you'll soon start to realize that if an IRC client doesn't do what you want it to do, you can easily add the feature yourself.

Chapter 5, Writing IRC Bots

IRC bots are autonomous clients that run without direct human input. This chapter explores what needs to be done to write an autonomous client that can connect to IRC, using Perl, Java, and Python. You will also be introduced to some popular libraries that simplify the process of writing IRC bots.

Chapter 6, Logging Bots

Bots that log IRC activity come in various guises. This chapter demonstrates how to create bots that use logging in different ways to achieve useful results, such as remembering when people were last active, logging URLs, running blogs, and recapping conversations.

Chapter 7, Community Bots

IRC is a chat system that is inherently amenable for use by communities. These communities can be served by IRC bots that perform useful tasks. Some of these applications are fun, such as generating social network diagrams of a community, while others are more useful, such as being able to pass messages on to other users.

Chapter 8, Search and Query Bots

IRC bots are often used to provide a gateway or interface to another service. This chapter shows you how to make bots to search Google and look up words on FOLDOC, the Free Online Dictionary of Computing. Web services can be used to make bots that search for books on Amazon, check the weather, translate languages, or convert currencies. On a more local scale, you can also create a bot to find out whether users are connected to an IRC network.

Chapter 9, Fun Bots

One reason for getting into IRC is that it is fun to chat. We reinforce this principle by demonstrating some fun bots that create comic strips, calculate mathematical expressions, and even act as a quizmaster. You can even try to fool your friends with the artificial intelligence bot described in this chapter.

Chapter 10, Announcement Bots

IRC bots are ideal for making announcements. They don't argue back if you disagree with them. With the growing popularity of RSS, this chapter shows you how to create an IRC bot that reads news into a channel from RSS feeds. Other hacks show you how to announce items posted to newsgroups or even events happening on a game server.

Chapter 11, Network Bots

As IRC bots run on machines with Internet access, it seems foolish not to make use of this fact. This chapter shows you how to link bots together to share information and provide remote resources to users of your bots, letting them get remote shells and tail log files over IRC.

Chapter 12, Channel Management Bots

As IRC is accessible by anybody, you occasionally find the odd user who is intent on causing trouble. The primary target of such abuse is usually a channel, where messages may be spammed or topics may be changed. This chapter shows you how to take care of such troublemakers by using bots to thwart their evil intentions.

Chapter 13, The IRC Protocol

Having already explored the possibilities of bots, this chapter goes into more detail about the IRC protocol, which is essential if you wish to write your own IRC applications. This chapter covers some of the points you will need to consider when writing IRC bots or clients.

Chapter 14, Other Ways to Connect to IRC

Chapter 1 covered the "conventional" IRC clients that most people use to connect to IRC. This chapter provides alternatives, such as web-based clients that do not require users to install any software, IRC clients that can run on mobile phones and Pocket PCs, and access to IRC through a proxy.

Chapter 15, Servers and Services

IRC servers play an obviously important role in the whole story of IRC, allowing clients to connect to them and chat with one another. This chapter shows you how to run your own IRC server and let people connect to it from the Internet. For greater resilience, you can even network more than one server. You can also find out how to access MSN, ICQ, and AIM from your IRC client.

    Previous Section  < Day Day Up >  Next Section