I'm trying to get 5 sequential infos from the user but the only way to do that was nesting a lot of callbacks. Is there another way to do it without nesting and without using forms?
Example code:
try {
const cbResourceName = channel.createMessageComponentCollector({ filter: filterResourceName, componentType: ComponentType.StringSelect, time: 300000, max: 1 });
cbResourceName.on('end', collected => {
interaction.deleteReply().catch((e) => {})
});
cbResourceName.on('collect', async (userMsgResourceName) => {
const cbVersion = interaction.channel.createMessageCollector({ filter: filterVersion, max: 1,time: 300000 });
cbVersion.on('end', collected => {
botMsgVersion.delete().catch(e => {});
});
cbVersion.on('collect', async (userVersion) => {
const csChangelog = interaction.channel.createMessageCollector({ filter: filterChangelog, max: 1,time: 300000 });
csChangelog.on('end', collected => {
botMsgChangelog.delete().catch(e => {});
});
csChangelog.on('collect', async (userMsgChangelog) => {
const cbChanges = interaction.channel.createMessageCollector({ filter: filterChanges, max: 1,time: 300000 });
cbChanges.on('end', collected => {
botMsgChanges.delete().catch(e => {});
});
cbChanges.on('collect', async (userMsgChanges) => {
const csImgLink = interaction.channel.createMessageCollector({ filter: filterImgLink, max: 1,time: 300000 });
csImgLink.on('end', collected => {
botMsgImgLink.delete().catch(e => {});
});
csImgLink.on('collect', async (userMsgImgLink) => {
})
})
})
})
})