Designed by taycie
Based on the information provided by:
http://www.bservice.org
For use with new trainees
Updated: 6/12/1999
Revised to webpage format 6/19/99 by: Nicki
The purpose of BotService is to provide channel owners with a clean running (no flooding, no war bots, etc) eggdrop bot for various purposes. This bot is not a replacement for channel service, or their services bots (where applicable). We do this not on just one network but many, in fact as of this writing we are currently on something in the order of 30+ networks with over 150 eggdrop bots online.
What does this cost, and what do we want in return? Nothing! We do not charge for our services nor do we ask for pay. Why do we do this you ask? Because *smile* we can. Our pay comes from satisfied channel owners. We do this for many reasons. To provide not only the channel owner but also the network itself with a reliable bot provider that maintains the bots. In doing so it is a more controlled and dependable service than all users on a network running various versions of bots. This also provides the network with a way to better watch and control what is happening on their network.
NickName |
Title(s) |
Nicki |
Founder of BotService BotService Global Admin BotService WebMistress TCL Assistant Keeper of the Paddle Evil Bitch Queen of the Bots |
terri{N} |
BotService Global Admin BotService Routing Admin TCL Coordinator Evil Bitch Queen's Devoted Slave |
taycie |
BotService Global Admin Applications Admin Training Coordinator TCL Assistant Evil Bitch Princess of the Bots |
Pulse |
BotService Global Admin Assistant Training Coordinator Official BotService.Org Mascot |
winus |
BotService Global Admin Research/Development |
KiiA |
BotService Global Co-Admin |
`Sioux |
BotService Global Co-Admin |
Elrond |
BotService Global Co-Admin |
Smokey |
BotService Global Co-Admin |
`Doc |
BotService Global Senior Member |
Andy |
BotService Global Senior Member |
Bot Application email: botapp@bservice.org
BotService email: bservice@bservice.org
BotService Admins email: admins@bservice.org
All BotService staff members are volunteers. That means WE DON'T GET PAID!! We do what we do simply because of the above. There are no "hero/heroines" in BotService. We all basically do the same within the channel. This doesn't mean that there is no authority structure. It's very rare that someone should have to "pull rank", but "rank" will be pulled if necessary. Local Administrators are responsible for making sure all persons they take on their network are trained and understand the policies set forth by BotService.
Level |
Access w/ Channel Services |
Access w/Bots |
---|---|---|
Global Administrator |
480+ |
full |
Global Co-Administrator / Local Administrator |
450-479 |
owner |
Global/Local Senior Member |
400-450 |
master |
Global/Local Member |
350-400 |
op |
Global/Local Helper |
300-350 |
chanmaster |
An Admin heads each network, sometimes several at the same time. So there is a need for helpers. To help give helpers an idea of what their job entails, these few guidelines have been drawn up:
Your main jobs with BotService are:
Some Rules/Guidelines to follow:
Rules/Guidelines for training:
Ours is not to pass moral judgement on any channel that requests a channel from BotService.Org. Rather it is to offer channel protection. Below is a list of guidelines in
1. there is another bot in the channel, not counting the one supplied by Channel Services
2. the channel a channel not supported by the network (in other words if channel services
wont register we won't supply a bot)
3. Warez/child endangerment or channels with illegal intent (i.e. trafficking of narcotics)*
4. the channel normally has any one of the following modes: +i, +l, +k, +m
5. Under 18 restriction not enforced nor implied***
*Warez being defined as illegal use of copyrighted software. MP3's is a gray area. Most MP3 sites request the user delete within 24 hours. We will supply that bot with a channel unless there is proof that warez are being traded
** Child porn channels includes sex channels that cater to younger users, with or without the intent to exploit that child, trading of photographs depicting child pornography, and adult sex channels that do not restrict their channels to prevent persons under the age of 18 from entering or enforcing such restrictions
***Adult style channels, whether they depict sexual situations in channel or not, are acceptable provided they have and enforce an "Under 18 restriction"
1. Deoping, kicking, or banning the bot, or removing its access from Channel Services
2. Kicking or banning BotService.Org members, which come to the channel to solve problems with the bot
3. Not co-operating with BotService.Org members who are trying to solve a problem with the bot in the channel
4. Using the bot for mass advertising, or for any activity that is in conflict with Channel Services policy
5. Abusing the bot
6. Losing control of the channel
7. Setting the channel +i, +l, or +k
8. Failing to impose/enforce an 18+ restriction on adult type channels
Networks with Local Administrators:
Networks without a Local Administrator:
In order to meet user requests for bots, the Investigation committee was formed. All Local Administrators are members of this committee by default, as well as chosen helpers.
* Follow the bot request policy as to what channels are eligible for a bot
* Verify that there are no bots in the channel. You can do this by versioning the channel or your judgement based on typical bot type greets
* When reviewing an application for acceptance or rejection the following fields must be filled out:
Field |
Information to be filled out |
---|---|
Channel's Name |
This is the name of the channel (Pretty self-explanatory). If this isn't filled out it is automatically rejected by the Admin of Applications, and not sent to Local Administrators or the Investigations Committee |
Channel's Purpose |
This is what the channel is being used for. If the channel name is descriptive enough, this field is not required. Use your judgement |
Network Channel is on |
This is REQUIRED. With out the network checked, Investigations will not jump from network to network to find it. If this isn't filled out, then Comments should be filled in stating a server. |
IRC Nickname |
This is REQUIRED. Only the channel owner/founder can request a bot. |
Host Mask |
This is REQUIRED. *!*@user@host |
ICQ Number |
Optional |
Email Address |
The person requesting SHOULD use their ISP email address for verification. In the event they use a free-email service, instead of immediately rejecting, email the user and ask them for a verifiable email address. However, many users use an anonymous email address for privacy reasons. Lets keep this in mind when we investigate applications. |
Time Online |
Should be filled in, but not a valid reason to reject. If no time is filled out, Investigations will try to meet with the owner to set up a time. |
Comments |
Not required, UNLESS no network has been selected earlier. |
1. Only one channel owner per channel
2. Channel services bot/chanserv must be present
3. Don't add bots that have an @ next to their nick (the channel control bots)
4. Don't add bots that are part of the relay (most of these are the channel control bot with the exception of a few networks)
5. Don't add bots that are already in 7 channels (including the home channel)
If application has been approved, and owner is present:
1. Select a bot for their channel
a. Select from the +v bots in channel
b. bots name cannot change
2. DCC the bot chosen
a. have bot join channel using join command
b. keep bot window open so you can double check owner/bot addition
3. Add owner to bot using the adduser command, making them 'chanowner'
4. Show owner how to: (watch for verification inside bot)
a. set pass (/msg <botnick> pass <password>
b. login to bot (/msg <botnick> login <password>
5. Have owner add bot to channel services bot
a. must be set at level 449 (verify w/channel services bot)
b. set autoops for the bot
c. Password to set for the bot matches the bots nick (case sensitive) unless its Undernet, where passwords must be 6 characters long, then the pass is BotsBots for botnames under 6 letters
6. Add Channel services to bot to prevent conflict, unless not present in channel
7. Activate +seen (<botnick> chanset [channel] +seen) for the channel (Only global ops or higher can activate this feature)
8. Save database
9. Ask for a channel description while you have the owner there
10. Offer help using the bot, and explain channel levels
a. can only add level below theirs
b. give webpage addy for additional commands
c. show how to get help using the bot (/msg <botnick> help [#channel])
11. After all completed, you can either fill out the form under "Update" on the staff website or you can Email bservice@bservice.org notifying the:
1. Check application and verify owner
2. Verify K9 is present
3. Pick a bot
4. DCC bot
5. type .newchan add #channelname <key>
a. keys should be entered as followed: date(yy,mm,dd) your initials (mix between cap/lowercase letters) (ex. 990408tAy)
b. in the event the same bot is used on the same day, add a lower case letter to the beginning of the key (ex. a990408tAy)
6. Email the Application Admin with the approval and add include the following in the email:
To activate your bot, and have it join your channel type:
/msg <botnick> initchan {channel] <key>
This command is case sensitive, so watch capitalization
7. Verify later that owner has received his/her bot and all additions have been made to services bot etc. Also set +seen if the channel owner desires
8. After all completed, you can either fill out the form under "Update" on the staff website or you can Email bservice@bservice.org notifying the:
All BotService.Org channels on each network are connected via relay. This allows the staff to keep an eye on their nets (if they are on a different one) and provide coverage for nets that do not have helpers or staff available to them. All BotService.Org staff are asked to help monitor our relay bots, to ensure that they are always linked and functioning.
Keep in mind that what you say will be sent to over 33+ networks, so there are a few things to keep in mind:
1. Only BotService.Org Staff, bots and their helpers may idle in any BotService.Org channel. Server Admins and IRCops must adhere to our channel rule of no idle (in other words, they aren't special to break the rules)
2. Use the relay bots for discussion not necessary on the relay that you do not feel is necessary for our users to see. (i.e. brief quickie meeting, asking an involved question when the bothouse is busy, things like that).
Command |
Syntax/Example |
What it does |
---|---|---|
linkmsg |
/msg <relaybot1> linkmsg <relaybot2> <nick><msg> Example: to send a msg from you on Othernet to Nicki on DarkerNet: /msg Cleopatra linkmsg Nadu Nicki Hi!!! |
Sends a private message to someone on another net, via the relay using the relay bot in the current channel your in, to the relay bot in the channel that they are in |
!linkping |
!linkping |
sends a ping and gives you the time to all the bots on the relay |
netname |
netname <server> netname ChatNet |
To find out what the relay bot is on a network |
!linkusers |
!linkusers <relaybot> !linkusers Otherbot (for users on Chatnet) |
Gives a list of users currently in the channel with the relay bot |
!linkboot |
!linkboot <relaybot> <nick> <message> Example, to boot from Othernet someone from Chatnet: !linkboot Otherbot Nevin testing |
Used to kick a user from the channel the relay bot is on via the relay |
!linkban |
!linkban <relaybot> <nick> <duration> <reason> Example, to ban from Othernet someone from Chatnet: !linkban Otherbot Nevin perm testing |
for banning users on a remote net via the relay |
findbot |
findbot <botnick> |
will tell you where that bot is located |
Anyone with channel master level access or higher can check to see if all links are in place by joining one of the main channels and typing:
!linkping
If you do this check, and find any bots not responding to the ping, please report it to someone who is a global senior member, or higher.
In addition to our main channel relay, we also maintain channel relays for the following channels.
#Witches - Owned by LordDrake
#Cauldrons - Owned by LadyRogue
#MusicChat - Owned by `Doc
As with all user channels, we join only when asked or to check/maintain the relay/bots.
Choose a bot to link to from www.botservice.org/staff (under relay)
DCC into the hub bot
.+bot <botnick> <mask (i.e. bservice.org)>:<port> <enter>
.chpass <botnick> <password> (you can get this password from either terri{N}, taycie or `Sioux)
.botattr <botnick> +h
.link <botnick>
.+bot and .chpass must be done on each bot. The rest can be done from either the bot to be linked or the hub bot.
If relay bots go down restart the Main Hub bot. If they do not relink after that, get a Global Administrator for help.
type |
length of ban |
---|---|
default |
2 hours if no ban type not specified |
1h |
1 hour |
6h |
6 hours |
1d |
1 day |
3d |
3 days |
7d |
7 days |
1m |
1 month |
3m |
3 months |
6m |
6 months |
1y |
1 year |
perm |
permanet ban |
These are commands that appear in the channel. This method requires the least amount of typing, and allows everyone to see what command you issued. A direct command consists of the name of the bot followed by a space followed by the command.
For example, if you want the bot that is named Achilles to issue the command date, you would type:
Achilles date
Direct using the bot's 'shortcut' name can shorten commands even more - ask BService what the bot's shortcut name is. For the bot Achilles, the shortcut is ac, and so the above example could also be done this way:
ac date
On some bots, a very few specialized commands called Public Commands exist; with those, the name of the bot is omitted in the command.
These are commands given by typing /msg followed by a space followed by the name of the bot followed by a space followed by the command. Note that the shortcut name for the bot cannot be used here. The advantage to this method is that other people in the channel don't see who issued which command. Using this method, the above example would be accomplished with:
/msg Achilles date
The following commands can be performed by anyone in the channel.
* Items inside [ ]'s are optional ;
* Items in italics are required for the command to work, but need to be replaced by something appropriate
Command |
Syntax |
What it does |
---|---|---|
seen |
seen <nick> |
Find out when the last time someone was in the channel |
country |
country <country abbr.> |
Find out what a country's name is from its abbreviation |
time |
<botnick> time |
Current time where the bot is at |
date |
<botnick> date |
Current date where the bot is at |
ping |
<botnick> ping me <botnick> ping <nick> |
Have the bot ping you or someone in the channel and give you the reply |
version |
<botnick> version |
Gives the current version of the bot |
whois |
<botnick> whois [channel] me <botnick> whois [channel] <nick> |
Displays information on a user |
userlist |
<botnick> userlist [channel] |
Displays list of users in the channel that have access to the bot |
access |
<botnick> access me <botnick> access <nick> |
Displays information on a user |
levels |
<botnick> levels |
Displays possible access levels with the bot and corresponding flags |
flags |
<botnick> flags channel <botnick> flags global |
Displays the meaning of the flags for channel and global users |
banlist |
<botnick> banlist [channel] |
Lists bans on the bot for the channel |
bantype |
<botnick> bantype |
Displays the available ban types and what each means |
ignorelist |
<botnick> ignorelist |
Lists all users currently on ignore |
define |
define <abbreviation> |
Gives user definition for standard "IRC Speak" |
The channel owner can only perform the following commands.
Command |
Syntax |
What it does |
---|---|---|
chaninfo |
<botnick> chaninfo |
Lists current settings maintained by the bot |
chanset |
<botnick> chanset [channel] chanmode <mode> |
Sets or removes standard IRC modes and enforces them (s, t, n) |
chanset idle-kick |
<botnick> chanset [channel] idle-kick <minutes> |
Kicks any user that has been idle too long in your channel. *Note: setting minutes to 0 (zero) will disable this feature |
chanset +autoop |
<botnick> chanset [#channel] +autoop |
Gives ops automatically to anyone on the bot's userlist who is at chanop level or higher |
chanset +autovoice |
<botnick> chanset [#channel] +autovoice |
gives +v automatically to anyone on the bot's userlist who is at chanvoice level or higher |
chanset flood-chan |
< botnick> chanset flood-chan lines:seconds |
This defines the flood level for public chatter and actions Example: Nebula chanset flood-chan 8:10 This would cause a user to be kicked if she posts more than 8 lines in a 10 second interval. |
The channel master or higher can perform the following commands.
Command |
Syntax |
What it does |
---|---|---|
cycle |
<botnick> cycle |
Makes the bot part and rejoin the channel |
invite |
<botnick> invite <nick> |
Have the bot invite someone to the channel |
dccme |
<botnick> dccme |
Makes the bot initiate a DCC chat with you |
act |
<botnick> act [#channel] <action> |
Makes the bot perform an action in channel |
say |
<botnick> say [#channel] <msg> |
Make the bot talk in channel |
The following commands can be performed by channel operators or higher.
Command |
Syntax |
What it does |
---|---|---|
topic |
<botnick> topic [#channel] <new topic> |
Have bot set a topic for the channel |
mode |
<botnick> mode [#channel] <modes> |
Set channel modes (s, t, n) |
op |
<botnick> op [#channel] me |
Op yourself or a user |
deop |
<botnick> deop [channel] me, <botnick> deop [channel] <nick 1, 2, 3> |
Deop yourself or a user |
voice |
<botnick> voice [#channel] <nick> |
Voice (+v) a user in a channel |
devoice |
<botnick> devoice [channel] <nick> |
Devoice (-v) a user in the channel |
kick |
<botnick> kick [channel] <nick> |
Kick a user from the channel |
ban |
<botnick> ban [channel] <nick> <reason>, <botnick> ban [channel] <user@ host> <reason> |
Ban a user from the channel for the default of 2 hours **Using Perm will ban this person permanently from the channel |
adduser |
<botnick> adduser <nick> <level> |
Add a user to the bot ** You can only add someone lower than your access i.e. ChanOps can only add Chanvoice users |
remuser |
<botnick> remuser <nick> |
Remove a user from the bot |
Command |
Syntax |
What it does |
---|---|---|
info |
<botnick> info [channel] <nick> <type> |
Gives personal information about a user. Valid types are: name, sex, bday, location, occupation, url, email, other set |
set |
<botnick> set [channel] <type> <details> |
Sets personal information about you. Valid types are: name, sex, bday, location, occupation, url, email, other |
voice |
<botnick> voice [channel] me |
Has bot voice you (+v) |
devoice |
<botnick> devoice [channel] me |
Has bot unvoice you (-v) |
The can perform all channel/global commands.
Command |
Syntax |
What it does |
---|---|---|
die |
<botnick> die [reason] |
Kills the bot |
The can perform all channel/global commands, except Global owner commands.
Command |
Syntax |
What it does |
---|---|---|
banner |
<botnick> banner <msg> |
sends a message to all channels the bot is in |
rehash |
<botnick> rehash |
reloads script |
restart |
<botnick> restart |
restarts bot |
join |
<botnick> join <#channel name> |
has bot join channel and set up records for use |
part |
<botnick> part <#channel name> |
has bot part channel and destroy all records set up |
The can perform all channel/global commands, except Global owner commands.
Command |
Syntax |
What it does |
---|---|---|
ignore |
<botnick> ignore <user@host> |
have bot ignore user |
unignore |
<botnick> unignore <user@host> |
remove user from ignore |
clear |
<botnick> clear [#channel] |
removes channel modes |
opstat |
<botnick> opstat |
tells whether or not a bot is opped in its channels |
lock |
<botnick> lock [#channel] |
sets modes +smi |
unlock |
<botnick> unlock [#channel] |
sets modes -smi |
save |
<botnick> save |
saves bots user lists |
msg |
<botnick> msg <nick> <msg> |
use bot to msg someone |
channels |
<botnick> channels |
list channels bot is on |
global |
<botnick> global <command> |
gives a command that is executed in all channels the bot is in |
chanset +seen |
<botnich> chanset [#channel] +seen |
Sets the seen feature for the channel |
Not everyone can issue all commands. There are several commands which can be issued by anyone, but most are restricted to people who have been registered with the bot. Part of that registration is the assignment of an access level to the user, and that is what determines which commands the user has access to.
Associated with each user are a number of flags; each access level includes certain of these flags, by default.
The various access levels are listed below, along with which flags they normally have. Below that, are listed the flags, and what each means. Access Levels are as shown below, highest at the top:
Command |
Description |
Global Flags |
Channel Flags |
---|---|---|---|
full |
Full access user |
fhjmnoptx |
--- |
owner |
Global Owner |
fhmnoptx |
--- |
master |
Global Master |
fhmnopx |
--- |
op |
Global Op |
fhopx |
--- |
voice |
Global Voice |
fhvpx |
--- |
chanowner |
Channel Owner |
hpx |
fmno |
chanmaster |
Channel Master |
hpx |
fmo |
chanop |
Channel Op |
hpx |
fo |
chanvoice |
Channel Voice |
hxp |
fv |
Syntax: In channel: <botnick> adduser <nick> <level>
Example: In channel: Argus adduser taycie chanowner
These are flags used for BotService Members.
Flag |
What it is |
What it does |
---|---|---|
a |
Auto-op |
Always ops this user in channel |
b |
Bot |
User is another bot |
c |
Common |
User record is a common access site |
d |
Global deop |
Will deop user on all channels the bot is on |
f |
Global friend |
Bot will voice user on all channels its in |
h |
Highlight flag |
User sees highlight in text output |
j |
Janitor |
User is a file area master |
k |
Auto kick |
User is kicked/banned automatically |
m |
Global master |
User is a bot master |
n |
Global owner |
User is a bot owner |
o |
Global op |
User will be op'd in any channel the bot is in |
p |
Partyline |
Partyline access |
t |
Botnet master |
Botnet master |
u |
Unshared |
Not sent to other share bots |
v |
Global voice |
User gets a +v on any channel |
x |
Xfer |
User has file area access |
These are flags that are set for users of a specific channel. When you use the chattr command,
make sure you specifiy a channel name with the command.
Flag |
What it is |
What it does |
---|---|---|
a |
Auto-op |
Always op user on join in channel |
d |
De-op |
Bot will not allow user to be opped |
f |
Friend |
User isn't punished for doing bad stuff (like channel flood, repeating, swearing, etc.) |
k |
Kick |
User is auto kicked from channel |
m |
Master |
User is the botmaster for the channel |
n |
Owner |
User is the owner of the bot in the channel |
o |
Op |
User is an op for the channel |
q |
Quiet |
User will never be voiced in the channel |
v |
Voice |
User will always get a +v in the channel |
When you link up Bots, you need to add flags to them. If Bots are not linked they will not op each other; they will not share userfiles, etc. Once you designate a hub bot, the leaf bot will attempt to link to the hub about once per minute. If you have several Bots linked together, you should also designate an alternate hub, and for every large botnets, two alternate hubs for times when the hub bot is down. When the hub bot is down, the leaf Bots will attempt to link to an alternate hub, but they will keep trying to connect to the hub bot until they are able to link to it. As soon as they are able to link to the hub bot, they will delink from the alternate hub.
Flag |
What it is |
What it does |
---|---|---|
h |
Hub |
Your bot will try about once per minute to link to the hub bot until it succeeds. Once it links to the hub, it will no longer try to connect to any other bot. |
r |
Reject |
Your bot will reject telnet connections from this bot. This is useful if you are removing someone's bot from your botnet, but the owner is not around to remove your Bot's record from the offending bot. This bot will not be allowed on the botnet, no matter what bot it tries to connect through. |
a |
Alternate Hub |
If no hub bot can be linked, or the hub is down, your bot will try to link to the alternative hub instead. Once the alternate bot is linked, it will still try to connect to the hub bot, but will no longer try to connect to any others. If a hub bot is linked later, the connection to the alternate hub is dropped. |
s |
Share |
This means that your bot will share a userfile with this bot. There is a full explanation of this flag in the sharing instructions. |
l |
Leaf |
If a bot is marked as a leaf, that means you do not want any Bots to link behind it. It should link only to the hub. In other words, it can only be connected to the botnet through one bot, and no other Bots may connect to the botnet through it. |
These commands are given within a DCC chat session with the bot, and always begin with a dot followed by the command. The most powerful of the bot's commands are done this way. Any user who has access to the bot can also enter into DCC chat with it, using the same method as you would for any other irc user. There are only two differences:
Command |
Syntax |
What it does |
---|---|---|
.chat |
.chat [number] Example: .chat 42 |
your DCC session with the bot allows you to talk with other users that are in DCC with the bot; at any one time, you are on one of 100,000 channels inside that DCC; when you first enter the DCC, you are on channel 0 - the party line; the .chat command allows you to switch to a different DCC channel |
.newpass |
.newpass new_password |
changes your password with the bot |
.nick |
.nick new_handle |
changes your handle with the bot; when you were first added to the bot, the nickname you had at that time became your handle with the bot |
.note |
.note handle message |
sends a note to another person that is on the bot's userlist |
.notes list |
.notes list |
displays how many notes are waiting for you, and from whom |
.notes read |
.notes read number Example: .notes read 1 |
displays a note that was sent to you |
.notes erase |
.erase number Example: .erase 2 Example: erase all |
erases a note you had received |
.quit |
.quit |
ends your DCC session with the bot |
.who |
.who |
displays a list of people who are currently on the partyline |
.whois |
.whois handle |
This command will cause the bot to display some information about one of its users. |
.help |
.help [command] |
displays documentation on commands available in DCC |
.+user |
.+user <nick> <host> |
add another user within the bot |
.-user |
.-user <nick> <host> |
remove user within the bot |
.+host |
.+host <nick> <host> |
add another host address for someone already on bot |
.-host |
.-host <nick> <host> |
remove a host from a current user on the bot |
.chattr |
.chattr <nick> <flags> |
add or remove flags for a user |