Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- case 'start' : {
- await deferReply().catch(console.error);
- console.log(5);
- if(await checkHasVoted(interaction, false, true) === false) return;
- console.log(6);
- const type = args.getString("type");
- if(type === "reddit") return await redditCantBeUsed(interaction, true);
- console.log(7);
- const category = args.getString("category");
- let seconds = args.getNumber("seconds") ? args.getNumber("seconds") : settings.defaults.serverposting_interval;
- let dbServerpostings = await fetchAllServerposts({ server_id: interaction.guild.id }, { }, { });
- if(dbServerpostings.success == false) return await somethingWentWrong(interaction, true);
- dbServerpostings = dbServerpostings.data;
- console.log(8);
- let maxChannels = premium_tiers.find(x => x.level == dbMember.isPremium ? 1 : 0).serverpost_limit;
- if(dbServerpostings.length >= maxChannels) {
- const button = new ActionRowBuilder()
- .addComponents(
- new ButtonBuilder()
- .setLabel(`Get premium!`)
- .setEmoji(`🎉`)
- .setStyle(ButtonStyle.Link)
- .setURL(links.patreon_page)
- );
- const embed = new EmbedBuilder()
- .setTitle(`Serverpost Limit`)
- .setDescription(`You can only add up to ${maxChannels} ${await mentionCommand("serverpost")} channels.`)
- .setThumbnail(interaction.user.avatarURL())
- .setColor(settings.embed_colour);
- const componentsArray = [];
- if(!dbMember.isPremium) {
- embed.addFields({ name: `With premium`, value: `You can add up to ${premium_tiers.find(x => x.level === 1).serverpost_limit} channels per server, and the best part is that it's super cheap!!`, inline: true });
- componentsArray.push( button );
- };
- return await editReply({ embeds: [embed], components: componentsArray }).catch(console.error);
- }
- console.log(9);
- let isAlreadyPosting = dbServerpostings.filter(x => x.channel_id === interaction.channel.id)[0];
- if(isAlreadyPosting) {
- const embed = new EmbedBuilder()
- .setTitle(`Already Serverposting!`)
- .setDescription(`I'm posting \`${isAlreadyPosting.category} (${isAlreadyPosting.type})\` every ${isAlreadyPosting.interval} seconds in here.`)
- .setColor('Red')
- return await editReply({ embeds: [embed] }).catch(console.error);
- };
- console.log(10);
- let categoryExists = await checkCategoryExists(type.toLowerCase(), category.toLowerCase());
- if(categoryExists.success == false) return await somethingWentWrong(interaction, true);
- if(categoryExists.exists == false) return await categoryDoesntExist(interaction, true);
- console.log(11);
- let starting = await beginServerposting(interaction, type, category, seconds);
- if(starting.success == false) return await somethingWentWrong(interaction, true);
- if(starting.missingPerms === true) return;
- console.log(12);
- const embed = new EmbedBuilder()
- .setTitle(`Started Serverposting!`)
- .setDescription(`Now posting to ${interaction.channel}`)
- .addFields(
- { name: "Type", value: type, inline: true },
- { name: "Category", value: category, inline: true },
- { name: "Interval", value: `${seconds} seconds`, inline: true },
- )
- .setThumbnail(client.user.avatarURL())
- .setColor(settings.embed_colour)
- if(!dbMember.isPremium) {
- embed.setDescription(`This serverpost will stop after 24 hours. Please become a ${await mentionCommand("premium")} member to serverpost indefinitely and to ${premium_tiers.find(x => x.level === 1).serverpost_limit} channels!`)
- };
- return await editReply({ embeds: [embed] }).catch(console.error);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement