Eggdev: The state of eggdrop1.9

Sven Trenkel list at
Sun Apr 22 18:55:20 CST 2007

Hi eggdev,
looks like the mail server is working again, yeay for that.

The oldbotnet support for eggdrop1.9 is now kinda complete. "Kinda"
means that everything that is not related to (user)file transfers and
sharing is supported and those things will never be, because it just
doesn't work, the data that has to be shared is just too different. some
things, like .modules and .who is only supported for relay, if the bot
itself is the target, it only triggers a bind no one is listening to at
the moment. On the bright side, that means it makes no difference if the
command was done by a local or a remote user once the bind is implemented.

The next step would be to implement a newbotnet module. I've seen some
discussions about that here but IIRC there was never a decision about
anything, not even binary vs text. So, if anyone's still interested,
here are my ideas about it:

1. Text. plain and simple. Most internet protocols are plain text and
   probably for a good reason.
2. A lot like the old one. It works so there shouldn't be too much to
   change about it.
3. Announce everyone who connects to a bot to the whole botnet. People
   can trigger botnet events even without being on a channel and having
   to deal with non-existent people sucks.
4. Simplify the source part of a message. Like the IRC protocol. Right
   now every message has the source part on a different position in a
   different format. Make it simple, like "source command [optional]".
   Encode the source in the same format every time. Just the botname if
   it's from a bot, "id at bot" if it's from a person. Don't send the nick,
   that's just a waste of bandwidth. That could safe a lot of code for
   message parsing.
5. Allow binary data in some kind of messages, like "zapf" (what does
   that mean anyway?) That could easily be done by escaping a newline to
   '\n', a backslash to '\\' and a null byte to '\0'. This way it's
   still a text protocol and the scripts don't have to worry about
   sending binary data.

So, any comments on that? I'll probably start implementing it next week
or so.


PS: I know, I broke a lot of stuff with script binds in the last few
commits, I'll fix it after the botnet stuff is done, when it's clear
what kind of parameters have to be passed to scripts and back.

More information about the Eggdev mailing list