Making a simple IRC chat bot logger using bash script

In this article, we will make a simple bot logger. This script will log a few channels as well as handle the pings.

Prerequisites

Besides having a Terminal open, you need to have basic knowledge of IRC.

Write script:

Now, we will write a script for an IRC logging bot. Create the logging_bot.sh script and write the following code in it:

logging_bot.sh

#!/bin/bash 
nick="blb$$" 
channel=testchannel 
server=irc.freenode.net 
config=/tmp/irclog 
[ -n "$1" ] && channel=$1 
[ -n "$2" ] && server=$2 
config="${config}_${channel}" 
echo "NICK $nick" > $config 
echo "USER $nick +i * :$0" >> $config 
echo "JOIN #$channel" >> $config 
trap "rm -f $config;exit 0" INT TERM EXIT 
tail -f $config | nc $server 6667 | while read MESSAGE 
do 
	case "$MESSAGE" in 
		PING*) echo "PONG${MESSAGE#PING}" >> $config;; *QUIT*) ;; 
		*PART*) ;; 
		*JOIN*) ;; 
		*NICK*) ;; 
		*PRIVMSG*) echo "${MESSAGE}" | sed -nr "s/^:([^!]+).*PRIVMSG[^:]+:(.*)/[$(date '+%R')] \1> \2/p";; 
		*) echo "${MESSAGE}";; 
	esac 
done

How script works

In this script, we handled the pings; also, we are logging some channels.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Related Articles