#1940 Allow both random syntaxes in one message
This commit is contained in:
parent
a645889455
commit
76cde592ad
|
@ -185,31 +185,27 @@ function randomReplace(input, emptyListPlaceholder = '') {
|
||||||
const randomPatternNew = /{{random\s?::\s?([^}]+)}}/gi;
|
const randomPatternNew = /{{random\s?::\s?([^}]+)}}/gi;
|
||||||
const randomPatternOld = /{{random\s?:\s?([^}]+)}}/gi;
|
const randomPatternOld = /{{random\s?:\s?([^}]+)}}/gi;
|
||||||
|
|
||||||
if (randomPatternNew.test(input)) {
|
input = input.replace(randomPatternNew, (match, listString) => {
|
||||||
return input.replace(randomPatternNew, (match, listString) => {
|
//split on double colons instead of commas to allow for commas inside random items
|
||||||
//split on double colons instead of commas to allow for commas inside random items
|
const list = listString.split('::').filter(item => item.length > 0);
|
||||||
const list = listString.split('::').filter(item => item.length > 0);
|
if (list.length === 0) {
|
||||||
if (list.length === 0) {
|
return emptyListPlaceholder;
|
||||||
return emptyListPlaceholder;
|
}
|
||||||
}
|
const rng = new Math.seedrandom('added entropy.', { entropy: true });
|
||||||
var rng = new Math.seedrandom('added entropy.', { entropy: true });
|
const randomIndex = Math.floor(rng() * list.length);
|
||||||
const randomIndex = Math.floor(rng() * list.length);
|
//trim() at the end to allow for empty random values
|
||||||
//trim() at the end to allow for empty random values
|
return list[randomIndex].trim();
|
||||||
return list[randomIndex].trim();
|
});
|
||||||
});
|
input = input.replace(randomPatternOld, (match, listString) => {
|
||||||
} else if (randomPatternOld.test(input)) {
|
const list = listString.split(',').map(item => item.trim()).filter(item => item.length > 0);
|
||||||
return input.replace(randomPatternOld, (match, listString) => {
|
if (list.length === 0) {
|
||||||
const list = listString.split(',').map(item => item.trim()).filter(item => item.length > 0);
|
return emptyListPlaceholder;
|
||||||
if (list.length === 0) {
|
}
|
||||||
return emptyListPlaceholder;
|
const rng = new Math.seedrandom('added entropy.', { entropy: true });
|
||||||
}
|
const randomIndex = Math.floor(rng() * list.length);
|
||||||
var rng = new Math.seedrandom('added entropy.', { entropy: true });
|
return list[randomIndex];
|
||||||
const randomIndex = Math.floor(rng() * list.length);
|
});
|
||||||
return list[randomIndex];
|
return input;
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function diceRollReplace(input, invalidRollPlaceholder = '') {
|
function diceRollReplace(input, invalidRollPlaceholder = '') {
|
||||||
|
|
Loading…
Reference in New Issue