DreamBot IRC Bot 5.0
© 2004 by Madar Petru.
All rights reserved.
DreamBot IRC Bot
Current version: 5.0
DreamBot IRC Bot is a mIRC based based Windows IRC bot. IRC stands for Internet Relay Chat and it's an online meeting place where people are present in channels (a channel is like a room). If you donít know what IRC is, then DreamBot might not be what are you looking for.
An IRC bot is a program written in popular coding/scripting languages (like C, C++, Perl, PHP, etc.). Unlike other bots you may find on the Internet, DreamBot is a bot written in mIRCís scripting language, so it needs mirc.exe to run. A bot is a program that sits on IRC, on channels, and while looking like a normal user, it performs automated tasks as certain events.
DreamBot is a Windows bot, so itís quite hard to get it run on Unix systems. If you are an Unix user, you should try out Eggdrop (you can find it on www.eggheads.org).
Before installing this bot, take a minute and think if you really need an IRC bot or not. Most IRC users use bots as toys or for destructive purposes. Be aware that some servers prohibit bots, so donít be surprised if your bot gets killed or banned.
††††††††† Since it was released, in September 2004, DreamBot became a trusted, stable and reliable IRC bot for Windows users. Now it got to version 5.0, the most complete version today. Make sure to always visit our website (http://dreambot.eurion.com) for the latest version of this bot. Now, DreamBot is used by thousands of people around the world for protecting their IRC channels and to gain ops.
††††††††††† As you might already saw, DreamBot 5.0 is totally different from previous versions, so here are a list of things that were added/fixed to the bot. This list is far from complete, but Iíd like to tell you what I done:
-added Help Module, this can be used in help channels
-added 100% visual configuration for the botís features and protections
-added visual channel configuration; now you can set protections, modes for each channel you want, with just a few clicks
-made the bot work with IRC services (ChanServ, NickServ, GNUworld); the bot will now automatically auth with services upon connecting to a server
replies to the bot talk module and added a
-reviewed and fixed the botís double mode set (especially on DalNet and on other networks that use bahamut IRCd), but if you use saved modes, the bot will still double mode. I plan to fix that bug in the next versions
-reviewed and fixed the module that adjusts the channel +l mode (FloatLim module); now you can even set the values!
-added a feature that letís you save certain modes for a channel which the bot will maintain
-added a feature that letís you save a certain topic for a channel, which the bot will always maintain
-added channel CTCP protection
-added channel advertisements protection
-added channel swear protections
-fixed the botís mass mode settings for voice (+v) and ban (+b); the bot will now set more bans and kick users faster!
-fixed color protections
-replaced the seen module with one based on hash tables, written by Brax (thanks!); if you miss the old seen module, donít worry, Iíll publish it in my homepage
-added the autoop feature; now all bot operators will be oped when they join a channel, assuming if this feature is active, the bot is there and itís oped
-reviewed and fixed the greet mode; the greet notice can be still set just by owner, because some security problems; you can now use colors in your greet notice!
-the bot can now protect itself from invites, notices, messages, CTCPs floods, completely ignoring the user for 60 seconds (you can change it to any value)
-added games: trivia (coded by Brax), roll the dices, higher/lower
-added a calculator to the bot; now you can do math calculations using the bot!
-made channel flood protection settable, you can now set values to it
††††††††††† End of the list.
††††††††††† DreamBot IRC Bot 5.0 is distributed in both ZIP archive and a
self extracting installation program. Although the installation program is
easiest, some users prefer the ZIP archive. Iíll explain
1. Download the latest version of DreamBot from http://dreambot.eurion.com and save it in a folder, for example C:\.
2. Unpack the ZIP package with your favorite archiving utility, such as WinZip (if you donít have it, you can get it at http://www.winzip.com).
3. Then copy the mIRC executable (mirc.exe). Hint: to make sure the bot does not get exploited because of the mIRC version, download the latest version of mIRC from http://www.mirc.com/get.html.
4. After you copied the mIRC executable, double click on it to run it. Then DreamBot IRC Bot is installed!
5. If for some reason you donít see anything different in the botís mIRC, type this command: /load -rs system\startup.txt and click Yes if you get prompted to confirm script initialization.
6. Thatís all about ZIP archive installation. Congratulations, you correctly installed DreamBot IRC Bot 5.0.
††††††††††† If you downloaded DreamBot 5.0 Self Extracting Setup program (SFX) then you must follow these steps for a correct installation:
1. After you downloaded the executable (.exe) package, double-click on it to launch the setup program.
2. Take your time to read our license agreement!
3. Select a path where the bot should be installed (the default is C:\Program Files\DreamBot IRC Bot Deluxe), however you may choose to install it where you want.
4. Follow on-screen instructions and click finish when prompted.
5. Make sure the bot has the latest version of mIRC, since it comes with mIRC 6.16. Get the latest version of mIRC (if available) from http://www.mirc.com/get.html.
6. A shortcut to the bot should be placed on your Desktop, double-click it.
7. If for some reason you donít see anything different in the botís mIRC, type this command: /load -rs system\startup.txt and click Yes if you get prompted to confirm script initialization.
8. Thatís all you have to do. Congratulations!
††††††††††† DreamBot IRC Bot 5.0 itís not a hard-to-set-up bot, so with a few clicks your bot should be configured. After you start the bot, the configuration dialog should pop-up, letting you change settings. At any time, you can re-open the configuration by clicking on the DreamBot 5.0 menu and then on Configuration.... Using the setup dialog you can configure a connection, protections, features and channel/network settings.
Setting your bot to connect to an IRC server
You may connect using mIRCís
standard dialog or you can set up an automatic connection. Since connecting
with mIRC is already explained in mIRCís
help file, Iíll go directly to
1. Open the setup dialog clicking on the DreamBot 5.0 menu and then on Configuration... or press F2
the Server field
enter the the server you
5. In the Nickname field, enter the a nickname for the bot to use on IRC. Avoid using nicknames like ChanServ, NickServ and nicks that include the word Ďbotí in them. Using such nick names might get your bot banned from channels and servers.
6. In the Channels field enter the channels that the bot will try to join when connected to the server. You may also enter channel keys. Example: #AllNightCafe,#DreamBot somekey,anotherkey.
7. Click on Apply or Save Settings to save the settings. Next time you start the bot or you press F5 the bot will connect to the specified server, on the specified port, with the specified nickname and join the specified channels.
Setting yourself as bot owner
The things you need to do to set yourself as bot owner are described in the ReadMe document under the DreamBot 5.0 -> DreamBot Files menu. Follow those instructions correctly to set yourself as owner.
Setting the command identifier
In order to recognize commands, the bot must detect a character that is placed before each channel command. The default character is ď!Ē, but you can change it to whatever you want. For example, some people like ď.Ē while others use ď`Ē. Itís up to you which one you select. You can change by clicking on DreamBot 5.0 -> ConfigurationÖ and going into the Command identifier box. There you can enter one character only. After you changed, click Save settings or Apply.
††††††††††† DreamBot IRC Bot has various protections for channels and
self. I will describe
This is a very common protection to IRC bots. It doesnít allow an user to write an excessive number of lines on a channel, banning him if he does. The ban is set on *!*@userhost, so if an user has the address Fooemail@example.com, the bot will ban *!*@dial-11-45.71.55.pronet.org. You first need to enable the flood protection globally, so it can be used on channels. To do this, use the Configuration dialog or this command: !global_flood on. This protection also works on actions (/me, /ame).
After that, you can enable the protection for each channel you want, using !channel_flood on or the Configuration dialog.
This protection doesnít allow users to repeat lines of
To use this protection, you must first enable it globally, using !global_repeat on and then for each channel you want, using !channel_repeat on. This protection also works on actions (/me, /ame).
Colored text protection
This protection doesnít allow the use of colored
To use this protection, you must first enable it globally, using !global_color on and then for each channel you want, using !channel_color on. This protection also works on actions (/me, /ame).
Channel notice protection
This protection doesnít allow the use of notices in a channel. It first warns them and if they continue using notices, the bot will place a ban on the userís *!*@userhost and then it will kick him. Unlike other bots, if there are more abusers in the channel, the bot will ban them all at the same time, setting more bans per line. Also, the bot will kick the user, only after he was banned. If the banlist is full, the bot will set channel mode to invite-only (+i) and moderated (+m) so others canít flood.
To use this protection, you must first enable it globally, using !global_notice on and then for each channel you want, using !channel_notice on.
Channel CTCP protection
This protection doesnít allow the use of CTCPs in a channel. It first warns them and if they continue using CTCPs, the bot will place a ban on the userís *!*@userhost and then it will kick him. Unlike other bots, if there are more abusers in the channel, the bot will ban them all at the same time, setting more bans per line. Also, the bot will kick the user, only after he was banned. If the banlist is full, the bot will set channel mode to invite-only (+i) and moderated (+m) so others canít flood.
To use this protection, you must first enable it globally, using !global_CTCP on and then for each channel you want, using !channel_CTCP on.
Channel event protection
This protection temporary sets (for 60secs) the
channel +mi and +r (if available) when the number of allowed channel events is
exceeded. Events include
This protection bans users that doesnít use an appropriate language in a channel. To enable swear protection for a channel, use !swearkick on.
If people use ads in a channel, the bot will ban and kick him. To enable this protection for a channel use !advkick on.
Having this enabled, assures that the bot will not allow users to place any ban that will match its address. The user that places a ban on him will be deoped, if itís not the bot owner. The bot will also protect recognized user hosts from getting banned. To enable this protection, type !bp on.
This protection doesnít allow normal users to kick bot operators or low level bot operators to kick higher level operators. It will ban anyone who tries to to this. To enable this protection type: !kp on.
This bot also knows how to protect itself from msg, notice, CTCP and invite floods by ignoring the user who attempts to flood it. You can enable/disable/configure these using the Configuration dialog.
itís advanced protections, DreamBot IRC Bot 5.0 also comes with many interesting
This module allows you and other users too keep track of visitors on your channel (when they last joined, quitted, parted). If enabled this feature will be active for all channels and every user can type !seen <nick>. To enable, use !sn on and you can clear the seen database whenever you want, using !sclear.
Bot talk module
If enabled, this feature allows the bot to respond to certain
This feature allows bot operators to talk trough the bot, only in channels. To enable this feature use !set_say on.
Having this enabled, allows users to see their ping reply with the but by just typing !ping in a channel. You can enable this using !pgmode on.
This feature allows users to submit their own
Float module (+l mode adjustment)
Having this feature enabled you can let the bot maintain the channelís +l mode based on the number of people on the channel. You must first enable this feature globally, using !global_float on and then for each channel you want, using !channel_float on. You can configure this feature in the botís configuration dialog.
This feature allows bot operators to be oped when they join a channel. To enable, use !autoop on.
This feature prevents the bot from being idle. This often prevents the bot to ping timeout due idle. To enable, use !aidle on.
With this enabled, the bot will cycle a channel when it figures out that he is alone and is not oped. To enable this use !gainops on.
This command allows you to make a channel a help channel. This feature comes with commands like: !next !idle !noidle !helped. To enable this feature for a channel, use !helpmode on.
this version, DreamBot IRC Bot also
includes some fun games that you may play anytime in your IRC channel. Each
game included is described
This is the most popular IRC game. When playing, you have to answers some question asked by the bot and you get points if you got the right answer. A standard question file (500 questions) is included in the package, in the txt\ folder. First you must configure the game by clicking Trivia under the DreamBot 5.0 -> Game setup menu. Commands available for the trivia game are: !start !stop !rank !stat /msg botname TAQ.
The higher/lower game consists in guessing a number randomly chosen by the bot. You can specify a maximum range. To play, use !hl on <range>. Example: typing !hl on 10 will make the bot select a number between 0 and 10. You got 60 seconds to guess this number.
Roll the dices
With this game you can make the bot roll two dices for you and display the results. To play, use !roll.
††††††††††† This bot has 3 user levels: owner, master and operator. These
At this level, an user can:
-total access to the bot
-enable/disable global protections & features
-enable/disable channel protections & features
-op/voice/kick/deop/ban/unban/devoice and user
-can make the bot leave IRC, using !quit
-can make the bot connect to to another IRC server, using !jump <server>
-to make the bot join channels, using !join <#channel1,#channel2,#channel3> [<key1,key2,key3>]
-to make the bot part a channel, using !part #channel or !partall
-and many more
A bot master can:
-enable/disable channel protections/features
-can make the bot set modes, using !mode <modes>
-can enable games
-can invite people to a channel, using !invite <nick> [#channel]
-and many more
A bot operator can:
-can start/stop games
-and many other things
is a list of other useful bot commands
!time Ė this command makes the bot display the current time in the channel
!date Ė this command makes the bot display the full date in the channel
!calc Ė this command allows you to perform math operations (example: !calc (2+3)*5)
!help Ė this command retrieves information on a command
!commands Ė this command gives you a list of commands available to your level
!rehash Ė this command removes all of the botís warning files (used by protections)
!char Ė this command retrieves a character corresponding to the given ASCII number (example: !char 46 will return . (a dot))
!random Ė this command makes the bot return a random value between the given ones (example: !random 1 3 might return 1, 2, or 3)
another version of the bot took me a long time. But I
couldnít have done it without the help of a few people. So I
Garp (from Undernet) Ė this guy helped me a lot. He provided the domain for my site, installed the forum software and he updated it.
Brax (from Undernet and DALnet) Ė he helped me in many ways: coded the seen module, the trivia game, the log viewer, he made lots of suggestions and reported bugs.
|AmDeatH (from Undernet) Ė gave me an idea on how to code self protections and he showed me a sample
Mitko (from Undernet) Ė he also made suggestions, reported bugs and he keeps the bot on my channel 24/7
Ö and to all of you DreamBot users out there that keep me working on this project!
††††††††††† If you have a question, a suggestion or just want to report a bug, feel free to use our forums at http://dreambot.eurion.com or you can contact me personally on my channel #AllNightCafe on the Undernet IRC network.
I hope you enjoy using DreamBot as much as I enjoyed coding it!
© Copyright 2004-2005 by Madar Petru.
All rights reserved.