echbot User Guide


Pickup module commands

Command Purpose

!add [gameid[,gameid,...]]
(or anything starting with !add)

Adds the user to a game in the topic.
If there is more than one game running and a game id is not given, channel admins may decide whether the user should be added to all games or given an error.

!remove [gameid[,gameid,...]]
(or anything starting with !remove)
Removes a user from the games given
If no gameid is given, then you will be removed from all games in topic.
!who [gameid[,gameid,...]]

Lists the people signed up for the given game(s).
If there is more than one game running, all will be listed.

!ip [gameid] <newips>
(or anything starting with !ip)
Restricted command (limit,ip) - defaults to all
Sets the IP to be used for the given game.
If no gameid is given and there is only one game in topic, the IP for that will be set.
!motd <message>
Restricted command (limit,motd) - defaults to admins,opped
Sets the message to be shown in topic all the time (the message of the day).
!deleteip [gameid[,gameid,...]]
(or anything starting with !deleteip)
Clears the IP for the the given game(s).
If no gameid is given and there is only one game in topic, its IP is cleared.
!lastgame Tells the user when the last game was started in the channel.

!promote
Restricted command (limit,promote) - defaults to all

Sends a notice to the channel asking people to !add up!

!reset
Restricted command (limit,reset) - defaults to admins,opped

Removes everyone signed up in the topic

!pickups [gameid[,gameid,...]]
Restricted command (limit,gamecontrol) - defaults to admins

Sets the games available for adding to in topic.
To remove all topic pickup games, use only !pickups.
To set the number of players for each game, add ":howmany" to the end of each gameid. For example, to set your channel up with a game called duel with 2 players, and a game called ctf with 10 players you'd use:

!pickups duel:2,ctf:10

!update Any changes made to pickup,addpolicy will take effect.

Gamelookup module commands

Command Purpose

!q3 <ip>
!wolf
<ip>
!et
<ip>

Sends a Quake3-style "getstatus" command to the server and displays the server status.

!hl <ip>
!cs
<ip>

Sends a set of HalfLife queries to the server and displays the server status.

Bans module commands

Command Purpose
!ban [channel] <nickname> [duration] <reason>
Restricted command (limit,ban) - defaults to admins,opped

Sets a ban on the given nickname. If the user is online, a ban on their hostmask will be set and they will be kicked from the channel.
In Quakenet channels with Q, the bot will ban the Q username if it has been given +m with Q.
The channel parameter is only needed if !ban is being done by private messaging the bot.

!banlist [channel]
Restricted command (limit,ban) - defaults to admins,opped
Private messages the user with the current banlist for the channel
!unban <nickname>
Restricted command (limit,ban) - defaults to admins,opped
Removes the ban on the given nickname.

Auth module commands

Command Purpose
!auth

Identifies you to the bot. On QuakeNet your Q username is looked up.

!whoami Instructs the bot to tell you who you're authed as.

Qauth module (Quakenet only) commands

Command Purpose
!reauth

Tells the bot to re-auth with Q, can only be called by channel admins. Useful if Q auth is lost in a netsplit, and the bot does not get authed.


Nickometer module commands

Command Purpose
!nickometer [nickname]

Tells you how lame the bot rates the given nickname! Disable this in your channel with !set nickometer off


Admin module commands

New! You can now use Revok's excellent topic generator to try and generate your own pickup topic vars!

The administration commands are slightly more complicated than a list of single commands. Most administrative tasks involve using the !set command. This associates a some text with a name. For example...

!set limit,ban admins,opped,voiced

...would associate the text "admins,opped,voiced" with the (variable) name "limit,ban". Now the bot knows to allow all admins, ops, and voiced people access to the !ban command.

Other variables you can set, along with their defaults (with C in place of the colour character, and B in place of the bold character) are listed below.

Variable name Default value Explanation
pickup,format "C4Next Game: $games$${ B|| }motd$"

What the topic looks like when pickup is enabled. Can contain:

  • $games$ - show all gametypes/servers
  • $firstgame$ - show only first gametype/server
  • $motd$ - message of the day
pickup,format,games "C06$players$${ C4@ }ip$"

How each game that appears in the pickup topic is formatted. Can contain:

  • $id$ - name of this gametype/server
  • $ip$ - server ip for this game
  • $map$ - currently selected map
  • $players$ - all the players signed up
  • $playercount$ - number of players signed up
  • $maxplayers$ - max number of players before game starts
pickup,format,games,sep "C12 ][ " What separates each game in the topic.
pickup,format,games,players "$num$:$nick$" How each player is displayed.
pickup,format,games,players,sep "/" What separates a player from the next one.
pickup,format,firstgame "C06$players$${ C4@ }ip$" The pickup,format,firstgame variables are very similar to the pickup,format,games variables, each doing the same thing. However, if there is more than one gametype, or server rotation is being used then the ,games variables will show all gametypes/servers in topic, and the ,firstgame variables will show only the first.
pickup,format,firstgame,players "$num$:$nick$"
pickup,format,firstgame,players,sep "/"
pickup,who_msg "C10[B$id$B]C6 $players_compact$" The message sent to clients as a reply to !who.
pickup,who_msg,sep "C4][ " What separates multiple !who replies.
pickup,who_msg,players_compact "$nick$" How each player is displayed in the !who reply.
pickup,who_msg,players_compact,sep "/" What separates each player in the !who reply.
pickup,servercheck "off" When set to q3 or hl, a pickup will not be allowed to start unless the bot has checked the server, and found there to be enough spaces for all players.
When set to off, a pickup will be started without any server checks.
pickup,addpolicy "0"

0 - !add adds to no servers and generates an error if there are multiple games in topic.
1 - !add will add the user to all games in topic.
2 - !add adds to all games, you cannot add/remove from specific games.

Remember to !update after changing this setting.

pickup,randomcaptains "off"

on - choose two random captains for each game
off - don't choose random captains

pickup,rotateservers "on"

on - when a game starts on a server, put it to the back of the list (server rotation)
off - don't rotate servers

bans,defaultlength "86400" The default ban time... in seconds! 86400 is one day.
limit,ip "all" Set who can use !ip and !deleteip
limit,promote "all" Set who can use !promote
limit,reset "admins,opped" Set who can use !reset
limit,gamecontrol "admins" Set who can use !pickups and !pickuprotate
nickometer "on" Whether or not the !nickometer trigger should work in the channel.

(There are many more variables not listed - most notably the ones for changing the outputs of !q3-style commands)

Other commands that may be useful:

Command Purpose
!help Shows a handy link to www.echbot.com :-)
!topic Shows how to make mirc repeat your topic.
!set <variable>
Admins only.
Show the value of the given variable.
!set <variable> <value>
Admins only.
Set the given variable.
!unset <variable>
Admins only.
Set the given variable back to its default.
!alias Show the list of aliases. Aliases are used to make looking up regularly used servers easier. For instance, you could alias your main server as server1 with "!alias server1 123.123.123.123:2345 pw: myserver" and then !ips server1, !q3 server1 etc can be used.
!alias <aliasname> Show the IP defined for the given aliasname.
!alias <aliasname> <ip>
Restricted command (limit,alias) - defaults to admins,opped
Set the given aliasname to ip.
!unalias <aliasname>
Restricted command (limit,alias) - defaults to admins,opped
Removes the given alias.

Global/network admin commands

These commands are detailed here for the benefit of myself and any others who are running bots for me or themselves. Most users will not have access to these commands.

Global admin ONLY:

!addmodule, !removemodule, !reloadmodules
!listclones, !killclone, !startclone
!setadmins, !clearadmins, !network, !removenetwork

Global or network admin:

!join, !part, !channels

To set the administrators for a channel, you must set the admins variable. Be extremely careful who you set as a channel admin, as they can add or remove admin privileges from any of the other admins. They cannot however remove admin privileges on a channel from network or global admins. For example, to set two users with the QuakeNet auth names of freddy and george as administrators on your channel, you'd do:

!set admins quakenet_freddy,quakenet_george

WARNING! You must include yourself on the admin list, and ALL auth names must be in lower case.

 


If you have any questions, ideas, bug reports, or anything else then please email me.

This page was last updated by Chris Pearson (aka echinus) on 12 August, 2003.