diff --git a/instance.ts b/instance.ts index 2c95eb0..cac7593 100644 --- a/instance.ts +++ b/instance.ts @@ -6,13 +6,6 @@ interface ChatMessage { message: string; } -const ACTION_VERBS: Record = { - JOIN: 'joined the game', - LEAVE: 'left the game', - KICK: 'was kicked from the game', - BAN: 'was banned from the game', -}; - export default async function(context: InstancePluginContext) { const {instance, host, plugin, logger} = context; const queue: ChatMessage[] = []; @@ -62,16 +55,13 @@ export default async function(context: InstancePluginContext) { const message_content = message_index === -1 ? '' : message.slice(message_index + 1).trim(); queue.push({datetime: dt, message: `**\`${message_username}\`**: ${message_content}`}); - } else if (ACTION_VERBS[action]) { - const action_verb = ACTION_VERBS[action]; - const message_username = message.toLowerCase().endsWith(action_verb) - ? message.slice(0, -action_verb.length).trim() - : message; + } else { + const message_index = message.indexOf(' '); + const message_username = message_index === -1 ? message : message.slice(0, message_index); + const message_content = message_index === -1 ? '' : message.slice(message_index + 1).trim(); const player_count = instance.playersOnline.size + (action === 'JOIN' ? 0 : -1); - queue.push({datetime: dt, message: `**\`${message_username}\`** ${action_verb} (${player_count})`}); - } else { - queue.push({datetime: dt, message: `unknown action ${action} ${message}`}); + queue.push({datetime: dt, message: `**\`${message_username}\`** ${message_content} (${player_count})`}); } await flush();