Advertisement
Guest User

Untitled

a guest
Feb 18th, 2024
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. case 'start' : {
  2.                 await deferReply().catch(console.error);
  3.                 console.log(5);
  4.                 if(await checkHasVoted(interaction, false, true) === false) return;
  5.  
  6.                 console.log(6);
  7.  
  8.                 const type = args.getString("type");
  9.                 if(type === "reddit") return await redditCantBeUsed(interaction, true);
  10.  
  11.                 console.log(7);
  12.  
  13.                 const category = args.getString("category");
  14.                 let seconds = args.getNumber("seconds") ? args.getNumber("seconds") : settings.defaults.serverposting_interval;
  15.  
  16.                 let dbServerpostings = await fetchAllServerposts({ server_id: interaction.guild.id }, { }, { });
  17.                 if(dbServerpostings.success == false) return await somethingWentWrong(interaction, true);
  18.                 dbServerpostings = dbServerpostings.data;
  19.  
  20.                 console.log(8);
  21.  
  22.                 let maxChannels = premium_tiers.find(x => x.level == dbMember.isPremium ? 1 : 0).serverpost_limit;
  23.  
  24.                 if(dbServerpostings.length >= maxChannels) {
  25.                     const button = new ActionRowBuilder()
  26.                     .addComponents(
  27.                         new ButtonBuilder()
  28.                         .setLabel(`Get premium!`)
  29.                         .setEmoji(`🎉`)
  30.                         .setStyle(ButtonStyle.Link)
  31.                         .setURL(links.patreon_page)
  32.                     );
  33.  
  34.                     const embed = new EmbedBuilder()
  35.                     .setTitle(`Serverpost Limit`)
  36.                     .setDescription(`You can only add up to ${maxChannels} ${await mentionCommand("serverpost")} channels.`)
  37.                     .setThumbnail(interaction.user.avatarURL())
  38.                     .setColor(settings.embed_colour);
  39.  
  40.                     const componentsArray = [];
  41.                     if(!dbMember.isPremium) {
  42.                         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 });
  43.                        componentsArray.push( button );
  44.                    };
  45.  
  46.                     return await editReply({ embeds: [embed], components: componentsArray }).catch(console.error);
  47.                }
  48.  
  49.                console.log(9);
  50.  
  51.                let isAlreadyPosting = dbServerpostings.filter(x => x.channel_id === interaction.channel.id)[0];
  52.                if(isAlreadyPosting) {
  53.                    const embed = new EmbedBuilder()
  54.                    .setTitle(`Already Serverposting!`)
  55.                    .setDescription(`I'm posting \`${isAlreadyPosting.category} (${isAlreadyPosting.type})\` every ${isAlreadyPosting.interval} seconds in here.`)
  56.                     .setColor('Red')
  57.                     return await editReply({ embeds: [embed] }).catch(console.error);
  58.                 };
  59.  
  60.                 console.log(10);
  61.  
  62.                 let categoryExists = await checkCategoryExists(type.toLowerCase(), category.toLowerCase());
  63.                 if(categoryExists.success == false) return await somethingWentWrong(interaction, true);
  64.                 if(categoryExists.exists == false) return await categoryDoesntExist(interaction, true);
  65.  
  66.                 console.log(11);
  67.                
  68.                 let starting = await beginServerposting(interaction, type, category, seconds);
  69.                 if(starting.success == false) return await somethingWentWrong(interaction, true);
  70.                 if(starting.missingPerms === true) return;
  71.  
  72.                 console.log(12);
  73.  
  74.                 const embed = new EmbedBuilder()
  75.                 .setTitle(`Started Serverposting!`)
  76.                 .setDescription(`Now posting to ${interaction.channel}`)
  77.                 .addFields(
  78.                     { name: "Type", value: type, inline: true },
  79.                     { name: "Category", value: category, inline: true },
  80.                     { name: "Interval", value: `${seconds} seconds`, inline: true },
  81.                 )
  82.                 .setThumbnail(client.user.avatarURL())
  83.                 .setColor(settings.embed_colour)
  84.  
  85.                 if(!dbMember.isPremium) {
  86.                     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!`)
  87.                 };
  88.  
  89.                 return await editReply({ embeds: [embed] }).catch(console.error);
  90.             };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement