diff --git a/controller.ts b/controller.ts index a465ae2..7f2072d 100644 --- a/controller.ts +++ b/controller.ts @@ -107,14 +107,14 @@ export default async function(context: ControllerPluginContext) { }; controller.handle(ChatEvent, async (request: ChatEvent) => { - const {instanceName, action, content} = request; + const {instance, action, content} = request; if (action === 'CHAT' || action === 'SHOUT') { const nrc = content.replace(/\[special-item=.*?\]/g, '').replace(/<@/g, '<@\u200c>'); const index = nrc.indexOf(':'); const username = index === -1 ? nrc.trim() : nrc.slice(0, index); const msg = index === -1 ? '' : nrc.slice(index + 1).trim(); - await sendMessage(instanceName, `**\`${username}\`**: ${msg}`); + await sendMessage(instance.name, `**\`${username}\`**: ${msg}`); return; } @@ -122,7 +122,7 @@ export default async function(context: ControllerPluginContext) { const text = content.trim(); if (!verb) { - await sendMessage(instanceName, `unknown action ${action} **\`${text}\`**`); + await sendMessage(instance.name, `unknown action ${action} **\`${text}\`**`); return; } @@ -130,21 +130,19 @@ export default async function(context: ControllerPluginContext) { ? text.slice(0, -verb.length).trim() : text; - const instance = [...controller.instances.values()].find(i => i.config.get('instance.name') === instanceName); - if (!instance) { - await sendMessage(instanceName, `**\`${name}\`** ${verb}`); + await sendMessage(instance.name, `**\`${name}\`** ${verb}`); return; } let pc = ''; try { - pc = String(await instance.sendRcon('/_rcon return #game.connected_players', false, instanceName)).trim(); + pc = String(await instance.sendRcon('/_rcon return #game.connected_players', false, instance.name)).trim(); } catch { } - await sendMessage(instanceName, `**\`${name}\`** ${verb}${pc ? ` (${pc})` : ''}`); + await sendMessage(instance.name, `**\`${name}\`** ${verb}${pc ? ` (${pc})` : ''}`); }); controller.config.on('fieldChanged', (field) => {