Project "Kalich" is an intelligent IRC channel management, support and entertaining system built on
an Eggdrop bot (or in short - a bunch of Tcl scripts).
The project has been in active development since late 2000 (or something) and now, finally, it gets
released to the general public.
The original "Kalich" system bots were functional mostly on Russian speaking channels of Undernet and DALnet
(until they were forced to shutdown by lame h4xx0r DOS attacks, and are currently offline until further notice),
so there are many Undernet and DALnet specific features included.
All scripts have been tested and found working with eggdrop versions 1.6.3 through 1.6.5, and windrop 1.6.4
on Undernet, DALnet and IRCnet.
Theoretically speaking, these scripts are supposed to work on all platforms and IRC networks eggdrops
(and other perverted eggdrop variations) work on
(Success (and/or failure) stories may be sent to the Author).
There are no guaranties whatsoever though.
What does it do?
(Features)
Project "Kalich" contains 3 independant (of each other) script sections:
Toolz section - A complete channel control interface via public commands with online help
(for ALL sections!).
Statistic section - Counter of actions of users with public statistic reports.
AI section - An advanced talk script with teaching of lexicon via public commands.
Toolz section features:
Allows to perform MOST of the eggdrop standart functions via public commands.
(Adding/removing users/channels, changing their flags/modes, information about users/channels, etc.)
Auto identification of users by nicks for public commands
(e.g: if the user is on channel and you wanna change his flags, you don't need to look for
his bot handle, just use the nick)
Advanced user handling functions such as Resethosts (deletes all hostmasks of user except the current one)
Keeping of tight security when performing the actions above.
(e.g.: a user can't delete/change flags of a user with a higher access level, etc.)
Individual setting of output type (Public/Notice) for each user personally.
Setting of output type (Public/Notice) on a whole channel.
Ability of owners to enable/disable users from using the bot's commands.
Locking of channel topics.
Locking of users. Only a bot owner can change flags/delete a locked user.
(The chattr/-user DCC commands are also rewritten to prevent changing/deleting locked users using the partyline)
The bot remembers who made the last modification for each user, and what modification it was.
Pinging of users by bot and showing results on channel.
2 Levels of user protection (if someone kicks/deops a protected user - punishes offender).
Botnet functions:
Globalrehash - rehashes all bots on your botnet.
FindIp - finds users with specified ip/hostmask on all channels of all bots on your botnet.
Number - shows the number of people on all channels of all bots on your botnet.
Broadcasting of messages to all bot channels at once.
Finding of "hiding" users - give the bot the handle of the user, and the bot will find the nick.
A function to add all users that are currently on a certain channel at once.
A function(s) that shows names and/or access flags of all people that are currently on a certain channel.
(Secondary objective: spying on channels you're not on and the bot is :)
Built-in logging on to Undernet Channel Service Bot (X).
Built-in logging on to DALnet Channel Service (ChanServ).
A DALnet ChanServ Verbose message logger (Obviously useful for some people).
Detection and elimination of spam bots (xGuest Inviters and suchlike).
Automatic (and manual) cleaning up of accessless users that were not seen for a specified amount of days.
Advanced online help system with advanced comamnd listing.
(Shows each user only commands he CAN use on a certain channel)
Statistics section features:
Detailed counting of actions of users: phrases said, kicks, bans, topics, bad words, smiles, LOLs, pings.
Showing the rating of users in each action on a channel - TOP[everything]
Showing the rating of users globally (all channels summed) - GLOBALTOP[everything]
Information about channel's traffic (lines per hour said on channel)
Statistic of average and maximum concurrent users on a channel.
Showing of total actions registered on the bot.
Remembering of each user's last swear word (for "ME??? I never swear" situations).
Advanced personal statistics - MY[everything] (for your stats)
and NICK[everything] (for another user):
Percentages of actions in conversation (MYSTAT)
(info like: 23.5% of all the phrases you/someone say/s contain a smile, etc.)
Percentages of actions out of channel totals (MYPERCENT)
(info like: 36.3% out of total number of kicks on channel are performed by you)
Shows you rating places in all channel's actions (MYPLACE)
(info like: you're number 1 in kicks, number 2 in bans and number 5 in swears)
Showing of total number of actions (MYTOTAL)
Track of time spent on channel.
Estimate of user's typing speed (Not accurate at all coz it just divides talk by time)
(You're welcome to write a differnt algorithm if you know better :))
Public command to allow owners of channels to reset all the action counters for their channel.
A DCC command for reseting counters is also available.
AI section features:
Makes your bot a very intelligent "parrot" - you teach your bot to speak and it speaks :)
Advanced teaching mechanizm via public commands
(refer to the Operation section for more info).
The phrase database is searchable (finds which phrase belongs to what type).
The bot answers in public channels and private conversations.
A spying option is available for private conversations (the +S flag).
Public commands for shutting up the bot when it talks too much (Shudup/Unshudup command).
Adjustable random talk.
Some fixed answers to things such as "asl?" and "m/f?" questions.
Amazing results can be achieved with this script with enough imagination :)
There probaly are some features that are there but not listed here. That's because I either forgot to write them here,
or forgot they exist. So if you find a feature that is not listed here, you're welcome to
drop me a line about it.