Mnemosyne is a bot designed to help players remember important items, routes
or other information with regards to speedrunning.
Every command can start with either ":" or ";". Using ":" will have Mnemosyne
output to you in private notifications and using ";" will have her output
directly to the channel in which the command is typed. All of the examples in
this chat use ";", but they will work just as well with ":" instead.
Commands only require enough letters typed to be distinguished from other
commands, but at minimum 2 characters. For example, you may type ";he" for
";help" because there are no other commands that begin with "he", however you
must at least type ";rec" for ";recall" in order to distinguish it from
";remember". If you type an ambiguous command, Mnemosyne will display a list
of possible commands for what you typed and wait for you to type a
distinguishable command.
If there are multiple commands listed above a description, that means that the
commands do the same thing. For example, ";docs" and ";help" provide the same
response.
Everything that Mnemosyne remembers will be tied to the username that told
her the information.
Here's a list of commands:
Memory Commands
This is the core of what Mnemosyne was designed to do. Can't remember a route?
Forget an easy-to-miss item in a 100% race? Have other info you'd like to
easily access? Store it in Mnemosyne and have it at your fingertips during a
race, printed right in the race channel, either privately or publicly.
remember {tag} {data}
This will have Mnemosyne remember {data} under a {tag}. An indefinite
amount of data can be stored in a tag, however for long information (such
as a route,) it is recommended that you first put the information in a
pastebin link, and just have Mnemosyne remember the link.
Usage:
;remember criticalinfo Don't die!
recall {tag}
This will output all the data under {tag} in the order in which it was '
stored. Each line is numbered for use with the "forget" command.
Usage:
;recall criticalinfo
forget {tag} {slot# (optional)}
This will have Mnemosyne forget the item in {slot#} under {tag}.
Usage:
;forget criticalinfo 1
;forget criticalinfo
listtags
This will list every tag that Mnemosyne has remembered for you. The list
is posted to a temporary paste on Pastebin, which will expire 10 minutes
after the command is issued.
Usage:
;listtags
Group Commands
Groups are a way for people to let Mnemosyne know they'd like to be notified
when someone wants to join a race. Racers can join and leave groups, and send
out invitations to race to a whole group at once.
creategroup {group name} {description}
Creates a group for a race with a {group name}, and a {description} detailing
the race.
Usage:
;creategroup sm100 Super Metroid 100%
joingroup {group name}
Joins group {group name}. This will allow you to receive race invites sent to
members of that group.
Usage:
;joingroup sm100
leavegroup {group name}
Leaves group {group name}. This will stop any notifications to members of that
group from reaching you. When the last user leaves a group, the group is
removed.
Usage:
;leavegroup sm100
invite {group name}
pinggroup {group name}
Send everyone in group {group name} a private notification inviting them to
race. The message is in this template "{recipient}, {sender} would like to
invite you to race {description}."
Usage:
;invite sm100
;pinggroup sm100
listgroups
This will list every group currently stored in Mnemosyne. The list is
posted to a temporary paste on Pastebin, which will expire 10 minutes
after the command is issued.
Usage:
;listgroups
Bingo Commands
These are commands related to bingo races.
bingo {SRL game name} {"long" or "short" (optional)}
Sometimes JopeBot will be down, or not functioning properly. Or, more
likely, the members of a double anti-bingo race want an impartial trusted
third party to get a random card for them. This command will generate a
card for any game with a bingo currently defined. Adding "long" or "short"
to the end of the card will generate long or short card, respectively. Be
aware that not all bingo games were designed to support long and short
modes, so you may end up with some very strange cards using those modes.
Usage:
;bingo sm64
;bingo supermetroid long
;bingo oot short
sgbingo {SRL game name} {"long" or "short" (optional)}
When JopeBot is down, sometimes it can be a pain to grab a card and set
the goal during the race. This will allow you to do that in one fell
swoop. Instead of merely outputting the link to a card, this will cause
Mnemosyne to set the goal of the current race to the card it randomly
chooses.
Usage:
;sgbingo sm64
;sgbingo supermetroid long
;sgbingo oot short
getseed
Have a new game that isn't supported by Mnemosyne yet? This command will
generate a pseudorandom number from 0 to 999999, which can then be used as
the seed for any type of bingo card on SRL.
Usage:
;getseed
assignorder
This command will create an assignment order to be used most commonly for
anti-bingo and double anti-bingo races featuring more than two
participants. It will take a list of all the people who are currently
voiceops in the channel. The list will be shown in the form "Player 1 ->
Player 2 -> Player 3 -> Player 1", which should make clear the circular
nature of the assignments. This ensures that no player is assigning to
someone who is also assigning to them, discouraging collusion. This
command only works in SRL race channels.
Usage:
;assignorder
Miscellaneous Commands
These are other commands that are useful for Mnemosyne to have.
docs
help
information
readme
This command will tell you how to use Mnemosyne. In addition to linking
here, it will also list the memory related commands to get you started
using Mnemosyne.
Usage:
;docs
;help
;information
;readme
summon {#channel}
By default, Mnemosyne will join every race channel. However, sometimes you
may want her in a different channel, or sometimes she will be reset,
meaning that she will not be in every race channel. This command will
cause Mnemosyne to join a #channel. The channel must have the "#"
character preceding it.
Usage:
;summon #speedrunslive
randnum {minimum value (optional)} {maximum value (optional)}
randomnumber {minimum value (optional)} {maximum value (optional)}
These commands will generate a random number. If you provide no parameters,
the number will be between 0 and 999999. If you provide only one parameter,
it will return a random number between 0 and the provided number. If you
provide two parameters, it will return a random number between those two
values. The first value must be less than the second value.
Usage:
;randnum
;randnum 1000
;randnum 500 1000
;randomnumber
;randomnumber 1000
;randomnumber 500 1000
randlist {semicolon-delimited list}
randomlist {semicolon-delimited list}
randomizelist {semicolon-delimited list}
This takes a semicolon delimited list and spits out the same list with
the contents rearranged. The order produced is random.
Usage:
;randlist 1; 2; 3; 4; 5; 6; 7; 8
;randomlist 1; 2; 3; 4; 5; 6; 7; 8
;randomizelist 1; 2; 3; 4; 5; 6; 7; 8
smosis
This will generate a random goal for a Super Metroid race.
Usage:
;smosis
About Mnemosyne
In Greek mythology, Mnemosyne (nih-MAH-sih-nee) was a titan who personified
memory. Mnemosyne is a bot written by Dessyreqt in C#, using SQL Server CE as
a backend for storage. This storage is backed up using a cloud storage
service.
Please report problems, ask questions, and give general feedback to Dessyreqt
on irc.metroid2002.com
Comments