Fixed style bypass.

This commit is contained in:
Niels Simenon 2022-11-01 05:26:04 +01:00
parent 89dc51e3e9
commit 007773f38c
4 changed files with 15 additions and 16 deletions

View File

@ -54,6 +54,7 @@ module.exports = {
magenta: 'magenta',
pink: 'pink',
grey: 'shadow',
silver: 'shadow',
},
trivia: {
mode: 'first', // first or timeout

View File

@ -221,7 +221,7 @@ function onMessage(message, context) {
module.exports = {
name: 'Mash',
commands: ['mash', ...defineCommands, ...resolveCommands],
commands: ['mash', 'wordmash', ...defineCommands, ...resolveCommands],
onCommand,
onMessage,
help: `Resolve the anagram. Get a new mash with ${config.prefix}mash [length], look up definitions with ${config.prefix}define [word], resolve an anagram (that's not currently in play) with ${config.prefix}solve [anagram].`,

View File

@ -49,7 +49,7 @@ async function playRound(context, round = 0) {
const question = game.questions[round];
context.sendMessage(`${style.bold(style.pink(`Question ${round + 1}/${game.questions.length}`))} ${style.silver(`(${question.category})`)}: ${question.question}`, context.room.id);
context.sendMessage(`${style.bold(style.pink(`Question ${round + 1}/${game.questions.length}`))} ${style.grey(`(${question.category})`)}: ${question.question}`, context.room.id);
context.logger.info(`Trivia asked "${question.question}" with answer: ${question.answer}`);
try {

View File

@ -39,29 +39,19 @@ function shieldMethods(methods) {
const styleMethods = (() => {
if (config.platform === 'irc') {
return shieldMethods({
return {
...styles,
code: bypass,
});
};
}
if (config.platform === 'schat') {
const methods = {
return {
bold: schatBold,
italic: schatItalic,
code: schatCode,
...Object.fromEntries(Object.entries(config.schatColorAliases).map(([color, value]) => [color, (text) => schatColor(text, value)])),
};
const handler = {
get(target, prop) {
return target[prop] || bypass;
},
};
const shieldedMethods = shieldMethods(methods);
return new Proxy(shieldedMethods, handler);
}
return null;
@ -74,4 +64,12 @@ const expandedMethods = {
answer: (value) => styleMethods.bold(styleMethods.yellow(value)),
};
module.exports = expandedMethods;
const handler = {
get(target, prop) {
return target[prop] || bypass;
},
};
const shieldedMethods = shieldMethods(expandedMethods);
module.exports = new Proxy(shieldedMethods, handler);