Skip to main content

Oom Jurie the Eggdrop Bot

Why?

- Wanted to work on some WUG related feedback in the IRC channels. Things like signal quality for a Nick.
- Wanted a way to log all conversations on the IRC channels.
- Eggdrop is the BOT of choice in the WUG, so had to make it work.
- The only way to get to know IRC, is to automate IRC.

How?

Ubuntu and "apt-get install eggdrop", and then the fun starts. Getting the config file right so that the thing starts is the first mission. The best here is to following the guide at http://www.egghelp.org/setup.htm

Now the thing starts, but what now?

Ok, I found many guides to connect, get the bot to say things, but nothing simple to get me started on the TCL, so here is my help on this.

Figure out the location of the scripts, and add the following script file as greeting.tcl:

set flood-join 0:0
set onjoinchan "#general"
putlog "Greeting loaded....."
bind join - * greeting
proc greeting {nick uhost hand channel args} {
global onjoinchan greet howtell
if {(([lsearch -exact [string tolower $onjoinchan] [string tolower $channel]] != -1) || ($onjoinchan == "*"))} {
putserv "notice $channel :Hi $nick , welcome to $channel."
}
}
Then edit your eggdrop.conf file and add to the end:

source scripts/greeting.tcl
and restart the bot.

It should now talk to you when you join the #general channel.

The second part was to get eggdrop to run a PHP file and pass the output, this I got working using the TCL exec command:

set res [exec /usr/bin/php greeting.php]
for { set i 0 } { $i < [llength $res] } { incr i } {
putserv "PRIVMSG $nick :[lindex $res $i]"
}
This is very short and to the point. There are many resources, so please use Google for more help.

Where?


Comments

Popular posts from this blog

Double Bunk in Caravan

With our family expanding, we faced a challenge of adding another berth in our caravan, but I did not want to make it permanent.
A couple of options are available, of which one is simply to add a bunk to the single berth. We however did not want to cause any permanent markings on the interior of the caravan .

Netdata + SNMP + Mikrotik

Always wanted to see my Internet line usage as a gauge without having to log into the router.
So today I configured SNMP in Netdata to collect from my Mikrotik router.
/etc/netdata/node.d/snmp.conf:
{
"enable_autodetect": false,
"update_every": 5,
"max_request_size": 100,
"servers": [
{
"hostname": "10.1.1.1",
"community": "public",
"update_every": 5,
"max_request_size": 50,
"options": { "timeout": 20 },
"charts": {
"mikrotik1.cpu": {
"title": "CPU ",
"units": "percentage",
"type": "line",
"family": "cpu",
"dimensions": {
"used": {
&qu…

CasparCG Simple Playlist

It is possible to build a simple playlist as a rundown in the CasparCG client. It will very simply play each item after each other that are on the same layer. In this very simple post I show how to build such a playlist including the very important step of activating the OSC.

The Open Sound Control (OSC) implementation is how the client knows what the server is doing and then being able to send new command back to the server when a piece of media has ended to trigger playback of the next piece. For more details on the OCS, please see http://casparcg.com/wiki/CasparCG_OSC_Protocol