How to write a really simple IRC bot

May 6th, 2008

Noah Slater of semtard vapourware fame recently demonstrated to me how to write and extremely simple IRC bot in shell scripting.
The bot below is extremely simple, it simply identifies itself, joins a channel then sends a message to a channel.

If you are interested in using IRC bots, you may enjoy Phenny, which has a Debian package.

To use the code below to create your own bot, first you should copy the bot into a file called bot.sh
then run:

chmod a+x bot.sh

then run the bot with

./bot.sh

If you wanted to run the bot in the background for an extended period of time, you might want to do something like:

nohup /bot.sh 2> ~/mybotlog.txt &

For more information about learning shell scripting have a look on google


Based on Shellbot, by Sean B. Palmer

#!/bin/sh -e
# Based on Shellbot by Sean B. Palmer, inamidst.com
# Modified 2008, Noah Slater < nslater@bytesexual.org >
# Modified 2008, Tim Dobson, tdobson.net

echo "NICK pingbot" > pingbot.input # what nick
echo "USER pingbot +iw pingbot :$0" >> pingbot.input
echo "JOIN #tdobson.net" >> pingbot.input # what channel

tail -f pingbot.input | telnet irc.freenode.net 6667 | while true; do # what network
echo "PRIVMSG #tdobson.net :tdobson is cool" >> pingbot.input # what to say.
sleep 30 # number of seconds to wait before saying it again
done

Tags: , , , , , , ,

3 Responses to How to write a really simple IRC bot

  1. Anonymous Fool says:

    My shell says telnet command not found

  2. I’d rename this to how to make a spam bot :)

Leave a Reply

Name and Email Address are required fields. Your email will not be published or shared with third parties.