smut

Cherbot manages a list of regular expressions to censor itself.

^[Aa]dd smutpattern (.*?)[.!]?$

Example:

^[Ll]ist smutpatterns (.*?)[.!]?$

Example:

^[Rr]emove smutpattern (.*?)[.!]?$

Example:

security

Cherbot has a sophisticated security system, derived from Java. It is comparable with JAAS, the security concept used in Java application servers. This module controls security.

^([Gg]rant|[Aa]llow) (\w+)( access| permission)?( to| on)? (.*?)[.!]?$

Example:

^([Dd]eny|[Rr]evoke) (\w+)('s?)?( access| permission)( to| on)? (.*?)[.!]?$

Example:

^(([Ll]ist|[Ss]how|[Tt]ell)( me)?|[Ww]hat are) my permissions[.!]?$

Example:

^(([Ll]ist|[Ss]how|[Tt]ell)( me)?|[Ww]hat are) (\w+)('s?)? permissions[.!]?$

Example:

topics

Manages the other modules and gives some general information about the bot.

^([Ii]n )?[Ww]h(ich|at) (programming[- ])?language ((were|are) you|have you been) (written|programmed|coded)( in)?[?]?$

Example:

^[Ss]ave[.!]?$

Example:

^[Ss]ave (\w+)[.!]$

Example:

^[Ll]oad[.!]?$

Example:

^[Ll]oad (\w+)[.!]?$

Example:

^[Hh]elp[.!]?$

Example:

^([Aa]bout|[Tt]ell me about you)[.!]?$

Example:

^([Ll]ist|[Ss]how|[Hh]elp) modules[.!]?$

Example:

^([Ll]ist|[Ss]how|[Hh]elp) commands[.!]?$

Example:

^([Ll]ist|[Ss]how|[Hh]elp) commands? (of |from )?(the |module )?(\w+)([- ](module|commands))?[.!]?$

Example:

^([Ll]ist||[Ss]how|[Hh]elp) (me )?all commands[.!]?$

Example:

^[Rr]eally (list|show|help) (me )?all commands[.!]?$

Example:

^[Hh]elp testing[.!?]?$

Example:

^[Hh]elp (.*?)[.!]?$

Example:

^[Ii]nfo[.!]?$

Example:

^[Hh]ow many commands do you know[?]?$

Example:

^[Ww]hat('s| is) new[?]?$

Example:

blacklist

Blacklist of players that are denied to use Cherbot.

^(([Tt]ell|[Ss]how|[Ll]ist) (me ?)(the )?blacklist(ed players)?|[Ww]h(o|ich players?) (is|are) (blacklisted|on (the )?blacklist))[.!?]$

Example:

^([Pp]ut|[Aa]dd) (\w+) (to|on) blacklist[.!]$

Example:

^([Rr]emove) (\w+) from blacklist[.!]$

Example:

players

Manages overall player information. Keeps track of player names, so everywhere you insert a player name in a command, CherBot can make sure that the player name is correct. Also keeps track of all player's levels and manages a ranking. Detects after a while that a player levelled and can congratulate on this.

^([Ww]hat('s|is) (the )?(lvl|level) of|(([Aa]t )?[Ww]hat) (lvl|level) is) (\w+)( at)?[?]?$

Example:

^[Ww]hat (is my (lvl|level)|(lvl|level) am [Ii])[?]?$

Example:

^(\w+) is (also known as|aka) (\w+)[.!]?$

Example:

^(\w+) is not ((also )?known as|aka) (\w+)( anymore)?[.!]?$

Example:

^[Ww]h((at|ich) players|ome) do you know[?]?|([Ss]how|[Ll]ist|[Tt]ell) players[!.]?$

Example:

^[Ww]ho('s| is) the highest player[?]?$

Example:

^[Ww]hat rank am [Ii]( at)?[?]?|[Ww]hat is my rank(ing)?[?]?|([Tt]ell|[Ss]how|[Ll]ist) (me )?my rank(ing)?[.!]?|[Rr]ank me,? baby[.!]?$

Example:

^[Ww]hat is (\w+)('s?)? rank(ing)?[?]?$

Example:

^[Ww]hat rank is (\w+)( at)?[?]?$

Example:

^([Tt]ell|[Ss]how|[Ll]ist) (me )?(\w+)('s?)? rank[.!]?$

Example:

^(([Cc]on)?[Gg]rat(ulate|[sz])?|([Aa]dd|[Ss]et) (con)?grat(ulation)?[sz]? for) (\w+)( with|:| to) ("?)(.*?)\7[.!]?$

Example:

^([Dd]o(n't| not) (con)?grat(ulate|[sz])?|([Rr]emove|[Dd]el|[Dd]elete) (con)?grat(ulation)[sz]? for) (\w+)[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(all )?(con)?grat(ulation)?[sz]?[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(my|\w+'s|\w+s')? (con)?grat(ulation)?[sz]?[.!]?$

Example:

^([Ww]ho are the top( ten| ?10)? players[?]?|([Ss]how|[Ll]ist|[Tt]ell) (me )?(the )?top( ten| ?10)? players[.!]?)$

Example:

^[Hh]ow many (players?|people|ppl|char(acter)s?) do you know[?]?$

Example:

^([Ll]ist|[Ss]how|[Tt]ell)( me)?( the)? rank(ing)?s? (\d+)( ?(-|\.\.\.?|to) ?(\d+))?[.!]?$

Example:

^([Ww]hen (have you last seen|did you last see)|[Ll]ast seen|[Hh]ave you seen|[Dd]id you see) (\w+)[?!.]?$

Example:

^[Ww]hat time is it[?]?$

Example:

greetings

Greets players as soon as they enter, works like a kind of "CherBot Sonar" - you enter and instantly know wether CherBot is online.

^[Gg]reet (\w+) with ("?)(.*?)\2[.!]?$

Example:

^[Dd]o(n't| not) greet (\w+)[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(my|\w+'s|\w+s')? greeting[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(all )?greetings[.!]?$

Example:

laments

You can have Cherbot lament you or other players when they die.

^[Ll]ament (\w+) with ("?)(.*)\2[.!]?$

Example:

^[Dd]on't lament (\w+)[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(my|\w+)('s|')? (lament(ing)?|mourn)?[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(all)? (lament(ing)?|mourn)s[.!]?$

Example:

collections

This module allows players to manage a list of items they collect. You can also ask what other players collect or who collects a certain item. Like most modules, querying works also if the queried player is not online.

^[Ww]hat (items )?(buy|collect|need|purchase|want)s (\w+)[?]?$

Example:

^[Ww]ho ((buy|collect|need|want)s( stuff)?|are (the )?collectors|is collect(or|ing))[?]?$

Example:

^[Ww]hat('s| is|( items)? are) (collected|(the |a )?collectables?)[?]?$

Example:

^([Aa]ny(body|one) collects|[Dd]oes any(body|one) collect|[Ii]s any(body|one) collecting|[Ww]ho(('s| is) (collecting|buying)| collects| does collect| buys| does buy)) (.*?)[?]?$

Example:

^[Ww]hat('s|( items)? is| does) (\w+) collect(ing)?[?]?$

Example:

^[Ii]( collect nothing|( do(n't| not) collect|('m| am) not collecting) anything)[.]?$

Example:

^[Ii](( am|'m) collecting| collect) (.*?)[.]?$

Example:

^(\w+)(( is|'s) collecting| collects) (.*?)[.]?$

Example:

^[Ii]((('m| am) (not|no longer)| ain't) collecting| (don't|do not|no longer) collect) (.*?)( anymore)?[.]?$

Example:

^(\w+)((('s| is) not| ain't) collecting| does(n't| not) collect) (.*?)( anymore)?[.]?$

Example:

^[Ww]hat( items)? (do|am) [Ii] collect(ing)?[?]?$

Example:

^([Ii]s|[Dd]oes) (\w+) collect(ing)? (.*?)[?]?$

Example:

noob

This module manages some information that's interesting especially for newbies.

^[Ww]hat are your abilities[?]?$

Example:

^([Ww]hat howtos do you have[?]?|(([Ss]how |[Ll]ist )?(me )?(all )?(your )?)howtos[!.]?)$

Example:

^([Ww]hat whereis do you have[?]?|(([Ss]how |[Ll]ist )?(me )?(all )?(your )?)whereis[!.]?)$

Example:

^[Hh]ow( ?to| do ([Ii]|you)| does one) (.*?)[?]?$

Example:

^[Hh]owto: (.*?): (.*)$

Example:

^[Ww]here am [Ii][?]?$

Example:

^[Ww]here (is|are) (the |a )?(.*?)[?]?$

Example:

^[Hh]ow are you[?]?$

Example:

^(.*?) is ((in|at) .*?)[.!]?$

Example:

crimes

Manages crimes and criminals.

^(\w+) (has )?committed (\w+)[.!]?$

Example:

^Accuse (\w+) of (having committed )(\w+)[.!]?$

Example:

^(\w+) (didn't commit|hasn't committed|has not committed) (\w+)[.!]?$

Example:

^(\w+) is a ((.*) )?crime[.!]?$

Example:

^(\w+) is(n't| not) a crime[.!]?$

Example:

^[Ww]hat (actions )?are crimes[?]?$

Example:

^[Ww]hat crimes (did|has|have) (\w+) commit(ted)?[?]?$

Example:

^([Ww]ho('s| is| are) (a |the )?criminals?[?]|([Ll]ist|[Ss]how|[Tt]ell)( me)?( the)? criminals[.!]?)?$

Example:

^([Ll]ist|[Ss]how|[Tt]ell) crimes[.!]?|[Ww]hat crimes have been reported[?]?$

Example:

rodbabies

This module manages a black list of rod babies. For most players of no interest, requested feature by some players. A rod baby is a user with magic devices as main skill and unbalanced other skills.

^(\w+) is a rod ?baby[.!]?$

Example:

^(\w+) is(n't| not) a rod ?baby[.!]$

Example:

^[Ww]h(o|ich players?) (is a|are( the)?) rod ?bab(y|ies)[?]?$

Example:

rodbabywannabes

This module manages a black list of rod baby wannabes. For most players of no interest, requested feature by some players. A rod baby wannabe is a user who wants to become a rod baby and begs for rods and horns.

^(\w+) is a rod ?baby ?wannabe[.!]?$

Example:

^(\w+) is(n't| not) a rod ?baby ?wannabe[.!]$

Example:

^[Ww]h(o|ich players?) (is a|are( the)?) rod ?baby ?wannabee?s?[?]?$

Example:

deaths

The death manager recognizes that a player died. It counts each death of each player and manages two statistics. One for the deaths of each player and one of the kills from each mob.

^[Hh]ow (often|many times) (did|have|has|was) (\w+) (died?|(g[eo]t |been )?killed)[?]?$

Example:

^[Ww]h(o|ich (player|char(acter)?)) (((has )?(most often )?died)?|(was|got|has been) (most often )?killed)( most often)?[?]?$

Example:

^[Ww]h(o|(ich|at) mo(b|nster)) (is most lethal|(has )?killed most often)[?]?$

Example:

polls

With the poll manager, you can manage and run polls.

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(all |the )?(open )?polls[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(all |the )?(closed|finished|completed|concluded) polls[.!]?$

Example:

^([Ss]how|[Ll]ist|[Tt]ell) (me )?(all |the )?polls in preparation[.!]?$

Example:

^([Ee]xplain|[Dd]escribe) poll (number |#)?(\d+)[.!]?$

Example:

^([Ss]tart|[Cc]reate) new poll[.!]?$

Example:

^[Ss]et (the )?title for poll (number |#)?(\d+)( to |: ?)("?)(.*?)\5[.!]?$

Example:

^[Ss]et (the )?description for poll (number |#)?(\d+)( to |: ?)("?)(.*?)\5[.!]?$

Example:

^[Aa]dd (a )?choice (to|for) poll (number |#)?(\d+)(:)? ("?)(.*?)\6[.!]?$

Example:

^[Rr]emove choice (number |#)?(\d+) from poll (number |#)?(\d+)[.!]?$

Example:

^([Oo]pen|[Ss]tart|[Bb]egin|[Rr]eopen) poll (number |#)?(\d+)[.!]?$

Example:

^([Cc]lose|[Ss]top) poll (number |#)?(\d+)[.!]?$

Example:

^[Vv]ote for (vote |choice )?(number |#)?(\d+) on poll (number |#)?(\d+)[.!]?$

Example:

sales

Allows to place sales adds.

^[Ww]ho(('s| is) selling| sells) (.*?)[.]?$

Example:

^[Ww]hat('s| is| does) (\w+) sell(ing)[?]?$

Example:

^[Ii](('m| am) selling| sell) (.*?)[.]?$

Example:

^(\w+)(( is|'s) selling| sells) (.*?)[.]?$

Example:

^[Ii]((('m| am) (not|no longer)| ain't) selling| do(n't| not) sell) (.*?)( anymore)?[.]?$

Example:

^(\w+)((('s| is) not| ain't) selling| does(n't| not) sell) (.*?)( anymore)?[.]?$

Example:

mail

This manager allows players to leave a message for other players.

^([Ss]end )?[Mm]ail to:? (\w+): (.*)$

Example:

^[Ll]ist (my )?mail[.!]?$

Example:

^([Ss]how|[Dd]isplay|[Rr]ead) mail (number |# ?)?(\d+)[.!]?$

Example:

^([Dd]el(ete)?|[Rr]emove) mail (number |# ?)?(\d+)[.!]?$

Example:

emotes

CherBot can react on some emotes. This module doesn't have any commands.