Back

Professor Codex Bot Documentation


Professor Codex Bot

The Professor Codex bot is a discord bot used to help in finding words run by RTRB in the Bookworm Adventures discord server. This page is here to help with understanding how to use it!

Please read all of the information on this page!


General Information Regarding Commands


Anagram

Invoked using ;anagram [letters] (alias ;a).

Returns all words that can be made from exactly the provided letters, without addition or removal of letters. Order of the provided letters does not matter.

Example:

;anagram ACDEF will return FACED and DECAF. Other words like DEAF or ACE are not returned because not all of the provided letters are used. Words like DEFACE or DECADE would not be returned because additional letters are required to spell those words.


Subanagram

Invoked using ;subanagram [letters] (alais ;u).

Returns all words that can be made from any subset of the provided letters, without addition or removal of letters. Order of the provided letters does not matter.

Example:

;subanagram ACDEF will return ACE, CAD, FAD, FED, ACED, CADE, CAFE, DACE, DEAF, FACE, FADE, DECAF, and FACED. Words like DEFACE or DECADE would not be returned because additional letters are required to spell those words.


Bestword

Invoked using ;bestword [letters] -[arguments] (alias ;z).

Returns all subanagrams of the provided letters, sorted by the amount of damage that word would deal in Bookworm Adventures, without addition or removal of letters. Order of the provided letters does not matter.

This command has two arguments: x, the "level" of the Bow of Zyx or Arch of Xyzzy, and p, the "level" of the Wooden Parrot. x can be 0, 1, or 2 which correspond directly to having no XYZ treasure, having the Bow of Zyx, and having the Arch of Xyzzy. p can be either 0 or 1, corresponding to having no Wooden Parrot or to having the Wooden Parrot. This command does not take into account any other bonuses, like metal word bonuses.

The default state of this command, i.e. what normally happens without arguments, is to assume that both the Arch of Xyzzy and Wooden Parrot are being used. Internally, this looks like ;bestword [letters] -x 2 -p 1.

Examples:

;bestword EFIIMMMRUY will return MUMMERY, YUMMIER, MUMMIFY, FERMIUM, RUMMY, FIERY, REIFY, ... (50 additional words not shown). The order of the words is from most to least damage, subsorted alphabetically. This invocation of the command is using the default arguments, so the Arch of Xyzzy and Wooden Parrot bonsues are affecting the output.

;bestword EFIIMMMRUY -x 0 -p 0 will return MUMMIFY, FERMIUM, MUMMERY, YUMMIER, FUMIER, IMMURE, MUMMER, ... (50 additional words not shown). The order of the words is still from most to least damage, subsorted alphabetically, but since this invocation of the command is using different arguments, namely that neither the Arch of Xyzzy nor the Wooden Parrot are being used, those bonsues are not affecting the output.


Pseudoanagram

Invoked using ;pseudoanagram [letters] (alias ;p).

Returns all words that can be made from the provided letters and all word that differ from the provided letters by no more than one letter. Order of the provided letters does not matter.

Example:

;pseudoanagram BLOOPWY will return LOWBOYS, PLOWBOY, and PLYWOOD. Note that the provided letters themselves can spell PLOWBOY, so this command will always return any anagrams of the provided letters at a minimum (if any anagrams exist).


Cryptogram

Invoked using ;cryptogram [letters] (alias ;y).

Returns all words matching the pattern of letters provided. Order of the provided letters does matter: ;y ABABCC will return different words than ;y ABCABC.

Example:

;cryptogram ABCABCA will return ALFALFA, ENTENTE, SARSARS, and TZITZIT. Note that the provided letters are not required to be in the return words, only the pattern of the provided letters matters.


Begins

Invoked using ;begins [letters] (alias ;b).

Returns all words that begin with the provided letters. Order of the provided letters does matter: ;b PRE will return different words than ;b PER.

Examples:

;begins OVERK will return OVERKEEN, OVERKILL, OVERKIND, OVERKILLS, OVERKILLED, and OVERKILLING.

;begins x will return XIS, XYST, XENIA, XENIC, XENON, XERIC, XEROX, XYLEM,&nbps;... (118  additional words not shown).


Ends

Invoked using ;ends [letters] (alias ;e).

Returns all words that end with the provided letters. Order of the provided letters does matter: ;e ING will return different words than ;y GIN.

Examples:

;ends IXY will return NIXY and PIXY.

;ends S will return AAS, ABS, ADS, AIS, ALS, ARS, ASS, AYS, BAS, BIS, ... (62561 additional words not shown).


Contains

Invoked using ;contains [letters] (alias ;c).

Returns all words having, at minimum, all of the provided letters. The provided letters do not necessarily have to be adjecent to each other in the returned words, they only need to appear. Order of the provided letters does not matter: ;c LMNOP will return the same words than ;c LOPNM.

Examples:

;contains XYZ will return EXOENZYME, EXOENZYMES, HYDROXYZINE, HYDROXYZINES, and OXYPHENBUTAZONE.

;contains AEIOUY will return ANEUPLOIDY, AUDIOMETRY, AUTOTYPIES, BUOYANCIES, COEQUALITY, ... (151 additional words not shown).

;contains HHH will return HIGHTH, HASHISH, HEIGHTH, HIGHTHS, HASHEESH, HASHHEAD, HEIGHTHS, HIGHBUSH, CHIHUAHUA, ... (43 additional words not shown).


Ordered Contains

Invoked using ;orderedcontains [letters] (alias ;o).

Returns all words having, at minimum, all of the provided letters, where those letters do not necessarily have to be adjecent to each other in the returned words. Order of the provided letters does matter: ;o LMNOP will return different words than ;o LOPNM.

Examples:

;orderedcontains XYZ will return HYDROXYZINE, HYDROXYZINES, and OXYPHENBUTAZONE.

;orderedcontains AEIOUY will return FACETIOUSLY, ABSTEMIOUSLY, AUTOECIOUSLY, ADVENTITIOUSLY, and SACRILEGIOUSLY.


Sequence

Invoked using ;sequence [letters] (alias ;s).

Returns all words having, at minimum, all of the provided letters, where those letters do must be adjecent to each other in the returned words. Order of the provided letters does matter: ;s KII will return different words than ;s IKI.

Example:

;sequence EOU will return MEOU, MEOUS, MEOUED, UVEOUS, AENEOUS, AQUEOUS, CASEOUS, ... (218 additional words not shown).


Length

Invoked using ;length [operator][number] (alias ;l).

Returns all words that match the operator and length provided. The operators are:

If no operator is provided (e.g. ;length 6 instead of something like ;length >6), the command will assume the equality operator.

Examples:

;length 9 will return AARDVARKS, AASVOGELS, ABAMPERES, ABANDONED, ABANDONER, ... (24857 additional words not shown).

;length >15 will return MISUNDERSTANDING (the only 16 letter word in the Bookworm Adventures 1 dictionary).


Isword

Invoked using ;isword [word] (alias ;i).

Returns the dictionaries (BA1, BA2 and RTRB's) that the provided word is in.

Example:

;isword MILLIMHO will return that MILLIMHO is in the BA1 dictionary, not in the BA2 dictionary, and is in RTRB's dictionary.


Query

Invoked using ;query -[positive flags] [positive arguments] -n[negative flags] [negative arguments] (alias ;q).

Being by far the most complex command, ;query allows you to combine other commands together. Works with all other commands except ;bestword, ;isword, ;help, and ;query itself.

;query takes in two sets of flags and arguments, one positive and the other negative. The command does not need to be run using both the positive and negative flags though; only one is required. There can be as many positive and negative flags as you want, although each one adds more constraints to the words that will be returned and using too many may cause the bot to time out on the command. Commands are invoked in the order provided. See the examples for more information.

Examples:

;query -clb RTSLNE =8 S will return SALTERNS, SILENTER, SLATTERN, SPLINTER, STERLING, and STRANGLE. This command demonstrates how to use the ;query commands. It returns the intersection of the words that (1) contain the letters RSTLNE (the c flag and RSTLNE argument), (2) have a length of eight letters (the l flag and =8 argument), and (3) begin with S (the b flag and S argument).

;query -so TION OVS -ncb E O will return NOVATIONS, SOLVATIONS, CONVICTIONS, INNOVATIONS, MOTIVATIONS, CONVOCATIONS, ... (8 additional words not shown). This command demonstrates the use of negative flags (using the -n). It returns the intersection of the words that (1) have the sequence of letters TION (the s flag and TION argument), (2) contain the letters OVS appears in that order (the o flag and OVS argument), (3) do not contains the letter E (the c flag (within the negative flags block, preceded by -n) and S argument), and (4) do not begin with O (the b flag (within the negative flags block, preceded by -n) and O argument).


Help

Invoked using ;help (alias ;h).

Returns a link to the documentation (this very page!).


© 2024