DreamBot IRC Bot
5.0
© 2004 by Madar
Petru.
All rights reserved.
DreamBot IRC Bot
User’s
guide
Version:
5.0
Current
version: 5.0
Summary:
Installation and configuration
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.
3. What’s new in DreamBot 5.0?
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
-added new
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.
4. Installation and
configuration
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
2. Check
the Auto
3. In
the Server field
enter the the server you
4. In
the
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 Foo!bar@dial-11-45.71.55.pronet.org,
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
Swear
protection
This protection bans users that
doesn’t use an appropriate language in a channel. To enable swear
protection for a channel, use !swearkick on.
Advertisement
protection
If people
use ads in a channel, the bot will ban and kick him.
To enable this protection for a channel use !advkick on.
Ban protection
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.
Kick protection
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.
Self protections
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.
Beside
it’s advanced protections, DreamBot IRC Bot 5.0 also comes with many interesting
features.
Seen
module
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
Say
module
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.
Links
module
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.
Auto
op
This feature allows bot
operators to be oped when they join a channel. To
enable, use !autoop on.
Anti
idle
This feature prevents the bot
from being idle. This often prevents the bot to ping
timeout due idle. To enable, use !aidle on.
Gain
ops
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.
Help
module
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.
From
this version, DreamBot IRC Bot also
includes some fun games that you may play anytime in your IRC channel. Each
game included is described
Trivia
game
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.
Higher/Lower
game
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
are described
Owner
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
Master
A bot master can:
-enable/disable channel protections/features
-op/voice/kick/ban/unban/devoice/deop
users
-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
Operator
A bot operator can:
-op/voice/kick/ban/unban/devoice/deop
users
-can start/stop games
-and many other things
There
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)
Completing
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.
The official DreamBot help channel is #AllNightCafe
(on Undernet) and on Dalnet you can get
help in #DreamBot.
I hope you enjoy
using DreamBot as much as I enjoyed coding it!
___________________________
© Copyright 2004-2005 by Madar Petru.
All rights reserved.