diff --git a/src/app.js b/src/app.js index dba88a3..369eea2 100644 --- a/src/app.js +++ b/src/app.js @@ -135,7 +135,8 @@ function onLeave(data, bot) { } function onMessage(message, bot, games) { - const [, command, subcommand] = message.body?.match(new RegExp(`^${config.prefix}(\\w+)(?:\\:(\\w+))?`)) || []; + const body = message.originalBody || message.body; + const [, command, subcommand] = body?.match(new RegExp(`^${config.prefix}(\\w+)(?:\\:(\\w+))?`)) || []; const user = bot.users[message.userId] || message.user; const room = bot.rooms[message.roomId]; @@ -150,7 +151,7 @@ function onMessage(message, bot, games) { } if (command) { - const args = message.body.split(/\s+/).slice(1); + const args = body.split(/\s+/).slice(1); const game = games[command]; if (game && game.onCommand) { diff --git a/src/games/trivia.js b/src/games/trivia.js index 5066aa4..59b1d2c 100644 --- a/src/games/trivia.js +++ b/src/games/trivia.js @@ -172,7 +172,7 @@ async function onMessage(message, context) { const { answer } = game.questions[game.round]; - if (new RegExp(answer, 'i').test(decode(message.body))) { // resolve HTML entities, such as & to & + if (new RegExp(answer, 'i').test(decode(message.originalBody || message.body))) { // resolve HTML entities in case original body is not available, such as & to & game.answers.push({ user: context.user, answer: message.body,