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