const collectorFilter = i => i.user.id === inter.user.id; try { const confirmation = await response.awaitMessageComponent({ filter: collectorFilter, time: 30_000 }); if (confirmation.customId === 'start') { await confirmation.update({ content: `Started match between ${client.user.username} and ${inter.user.username}`, embeds: [], components: [] }).then(async () => { message = await inter.followUp({ embeds: [matchEmbed], components: [attacks] }) }) const punchFilter = (interaction) => interaction.customId === 'punch' && interaction.user.id === inter.user.id; const kickFilter = (interaction) => interaction.customId === 'punch' && interaction.user.id === inter.user.id; const surrFilter = (interaction) => interaction.customId === 'punch' && interaction.user.id === inter.user.id; const matchFilter = [punchFilter, kickFilter, surrFilter] const collector = message.createMessageComponentCollector({ matchFilter, idle: 30_000 }); collector.on('collect', i => console.log(`Collected ${i.customId}`)); collector.on('collect', i => { if (i.customId === 'punch') { message.edit({ embeds: [matchEmbed], components: [attacks] }) } }) collector.on('end', collected => console.log(`Collected ${collected.size} items`)); } else if (confirmation.customId === 'cancel') { await confirmation.update({ embeds: [cancelEmbed], components: [] }); } } catch (e) { await inter.editReply({ content: 'No response, cancelling match', components: [], embeds: [] }) console.log(e) }