Fix case-sensitivity of /me to match rest of slash commands

also better error handling for attempted runs of unimplemented commands
This commit is contained in:
Michael Telatynski
2020-06-16 00:41:21 +01:00
parent 94f52c4ee2
commit fcd3ebe051
2 changed files with 10 additions and 6 deletions

View File

@@ -62,16 +62,20 @@ export function textSerialize(model: EditorModel) {
}
export function containsEmote(model: EditorModel) {
return startsWith(model, "/me ");
return startsWith(model, "/me ", true);
}
export function startsWith(model: EditorModel, prefix: string) {
export function startsWith(model: EditorModel, prefix: string, caseInsensitive = false) {
const firstPart = model.parts[0];
// part type will be "plain" while editing,
// and "command" while composing a message.
return firstPart &&
(firstPart.type === "plain" || firstPart.type === "command") &&
firstPart.text.startsWith(prefix);
let text = firstPart && firstPart.text;
if (caseInsensitive) {
prefix = prefix.toLowerCase();
text = text.toLowerCase();
}
return firstPart && (firstPart.type === "plain" || firstPart.type === "command") && text.startsWith(prefix);
}
export function stripEmoteCommand(model: EditorModel) {