Install sircbot

Configue sircbot

Create sircbot scripts folders and files

Sircbot will use an folder for the channel where is logged in. Lets say we will use it at the "test" channel.
The folder path is: /etc/sircbot.d/#channel

Example

Lets see an example:

Our bot will be named kumquat and we will join at the #test channel in the irc.ddd.ddd server.

vi /etc/conf.d/sircbot

Change name, server and channel

sircbot_opts="-n kumquat -s irc.ddd.ddd"
sircbot_channels="#test"

Create folder bot.

mkdir /etc/sircbot.d/#test -p

Create the lua scrip file for our bot.

vi /etc/sircbot.d/#test/commands

#!/usr/bin/lua
-- Scripts for kumquat in Lua
args={...}
sender=args[1] -- is the nickname of running the command on IRC
message=args[2] -- is the message or command typed
channel=args[3] -- is the channel name
os.execute("sleep " .. tonumber(1))
-- This command will show: What can i do for you "nickname"?
local kumquatresult = string.find(message, "kumquat")
if kumquatresult ~= nil then
command="echo 'What can i do for you '"..sender.."'?' | sircbot-send '"..channel.."'"
io.popen(command)
end
-- This command will show: Hello there, amigo "nickname"
local kumquatresult = string.find(message, "hi")
if kumquatresult ~= nil then
command="echo 'Hello there, amigo '"..sender.." | sircbot-send '"..channel.."'"
io.popen(command)
end
-- This command will show the current UTC date and time
local kumquatresult = string.find(message, "date")
if kumquatresult ~= nil then
command="date -u | sircbot-send '"..channel.."'"
io.popen(command)
end
-- This command will do a search for a alpine linux package
local kumquatresult = string.find(message, "apk search:[^%d]")
if kumquatresult ~= nil then
local strng = (string.sub(message, 12))
command="apk search"..strng.." | sircbot-send '"..channel.."'"
io.popen(command)
end
-- This command will resolve a host name and ip
local kumquatresult = string.find(message, "host:[^%d]")
if kumquatresult ~= nil then
local strng = (string.sub(message, 6))
command="host "..strng.." | sircbot-send '"..channel.."'"
io.popen(command)
end
-- This command will do a 3 times ping to a server or ip address
local kumquatresult = string.find(message, "ping:[^%d]")
if kumquatresult ~= nil then
local strng = (string.sub(message, 6))
command="ping -c 3 "..strng.." | sircbot-send '"..channel.."'"
io.popen(command)
end