Updated command files

This commit is contained in:
Emotion 2023-03-19 22:46:57 +13:00
parent 6752829876
commit bc818511d5
No known key found for this signature in database
GPG key ID: 15EBDFF858B9A65A
10 changed files with 411 additions and 570 deletions

View file

@ -1,68 +1,66 @@
const Discord = require("discord.js");
const messages = require("../utils/messages"); const messages = require("../utils/messages");
module.exports = { module.exports = {
description: "Create a drop giveaway",
options: [ description: 'Create a drop giveaway',
{
name: "winners", options: [
description: "How many winners the giveaway should have", {
type: Discord.ApplicationCommandOptionType.Integer, name: 'winners',
required: true, description: 'How many winners the giveaway should have',
}, type: 'INTEGER',
{ required: true
name: "prize", },
description: "What the prize of the giveaway should be", {
type: Discord.ApplicationCommandOptionType.String, name: 'prize',
required: true, description: 'What the prize of the giveaway should be',
}, type: 'STRING',
{ required: true
name: "channel", },
description: "The channel to start the giveaway in", {
type: Discord.ApplicationCommandOptionType.Channel, name: 'channel',
required: true, description: 'The channel to start the giveaway in',
}, type: 'CHANNEL',
], required: true
}
],
run: async (client, interaction) => {
// If the member doesn't have enough permissions
if(!interaction.member.permissions.has('MANAGE_MESSAGES') && !interaction.member.roles.cache.some((r) => r.name === "Giveaways")){
return interaction.reply({
content: ':x: You need to have the manage messages permissions to start giveaways.',
ephemeral: true
});
}
const giveawayChannel = interaction.options.getChannel('channel');
const giveawayWinnerCount = interaction.options.getInteger('winners');
const giveawayPrize = interaction.options.getString('prize');
if(!giveawayChannel.isText()) {
return interaction.reply({
content: ':x: Selected channel is not text-based.',
ephemeral: true
});
}
// Start the giveaway
client.giveawaysManager.start(giveawayChannel, {
// The number of winners for this drop
winnerCount: giveawayWinnerCount,
// The prize of the giveaway
prize: giveawayPrize,
// Who hosts this giveaway
hostedBy: client.config.hostedBy ? interaction.user : null,
// specify drop
isDrop: true,
// Messages
messages
});
interaction.reply(`Giveaway started in ${giveawayChannel}!`);
run: async (client, interaction) => {
// If the member doesn't have enough permissions
if (
!interaction.member.permissions.has("MANAGE_MESSAGES") &&
!interaction.member.roles.cache.some((r) => r.name === "Giveaways")
) {
return interaction.reply({
content:
":x: You need to have the manage messages permissions to start giveaways.",
ephemeral: true,
});
} }
const giveawayChannel = interaction.options.getChannel("channel");
const giveawayWinnerCount = interaction.options.getInteger("winners");
const giveawayPrize = interaction.options.getString("prize");
if (!giveawayChannel.isTextBased()) {
return interaction.reply({
content: ":x: Selected channel is not text-based.",
ephemeral: true,
});
}
// Start the giveaway
client.giveawaysManager.start(giveawayChannel, {
// The number of winners for this drop
winnerCount: giveawayWinnerCount,
// The prize of the giveaway
prize: giveawayPrize,
// Who hosts this giveaway
hostedBy: client.config.hostedBy ? interaction.user : null,
// specify drop
isDrop: true,
// Messages
messages,
});
interaction.reply(`Giveaway started in ${giveawayChannel}!`);
},
}; };

View file

@ -1,71 +1,65 @@
const Discord = require("discord.js"); const ms = require('ms');
module.exports = { module.exports = {
description: "End a giveaway",
options: [ description: 'End a giveaway',
{
name: "giveaway",
description: "The giveaway to end (message ID or giveaway prize)",
type: Discord.ApplicationCommandOptionType.String,
required: true,
},
],
run: async (client, interaction) => { options: [
// If the member doesn't have enough permissions {
if ( name: 'giveaway',
!interaction.member.permissions.has("MANAGE_MESSAGES") && description: 'The giveaway to end (message ID or giveaway prize)',
!interaction.member.roles.cache.some((r) => r.name === "Giveaways") type: 'STRING',
) { required: true
return interaction.reply({ }
content: ],
":x: You need to have the manage messages permissions to end giveaways.",
ephemeral: true,
});
}
const query = interaction.options.getString("giveaway"); run: async (client, interaction) => {
// try to found the giveaway with prize then with ID // If the member doesn't have enough permissions
const giveaway = if(!interaction.member.permissions.has('MANAGE_MESSAGES') && !interaction.member.roles.cache.some((r) => r.name === "Giveaways")){
// Search with giveaway prize return interaction.reply({
client.giveawaysManager.giveaways.find( content: ':x: You need to have the manage messages permissions to end giveaways.',
(g) => g.prize === query && g.guildId === interaction.guild.id ephemeral: true
) || });
// Search with giveaway ID }
client.giveawaysManager.giveaways.find(
(g) => g.messageId === query && g.guildId === interaction.guild.id
);
// If no giveaway was found const query = interaction.options.getString('giveaway');
if (!giveaway) {
return interaction.reply({
content: "Unable to find a giveaway for `" + query + "`.",
ephemeral: true,
});
}
if (giveaway.ended) { // try to found the giveaway with prize then with ID
return interaction.reply({ const giveaway =
content: "This giveaway is already ended.", // Search with giveaway prize
ephemeral: true, client.giveawaysManager.giveaways.find((g) => g.prize === query && g.guildId === interaction.guild.id) ||
}); // Search with giveaway ID
} client.giveawaysManager.giveaways.find((g) => g.messageId === query && g.guildId === interaction.guild.id);
// Edit the giveaway // If no giveaway was found
client.giveawaysManager if (!giveaway) {
.end(giveaway.messageId) return interaction.reply({
// Success message content: 'Unable to find a giveaway for `'+ query + '`.',
.then(() => { ephemeral: true
});
}
if (giveaway.ended) {
return interaction.reply({
content: 'This giveaway is already ended.',
ephemeral: true
});
}
// Edit the giveaway
client.giveawaysManager.end(giveaway.messageId)
// Success message // Success message
interaction.reply("Giveaway ended!"); .then(() => {
}) // Success message
.catch((e) => { interaction.reply('Giveaway ended!');
interaction.reply({ })
content: e, .catch((e) => {
ephemeral: true, interaction.reply({
content: e,
ephemeral: true
});
}); });
});
}, }
}; };

View file

@ -1,37 +1,41 @@
const messages = require("../utils/messages"); const message = require('../utils/messages');
const { EmbedBuilder, MessageActionRow, MessageButton } = require("discord.js"); const {
MessageEmbed,
MessageActionRow,
MessageButton
} = require('discord.js');
module.exports = { module.exports = {
name: "help", name: "help",
description: "Get all Bot Commands", description: "Get all Bot Commands",
run: async (client, interaction) => { run: async (client, interaction) => {
let helpembed = new EmbedBuilder();
helpembed.setColor("RANDOM"); let helpembed = new MessageEmbed()
helpembed.setAuthor({ name: `Commands of ${client.user.username}` }); helpembed.setColor("RANDOM")
helpembed.setColor("#2f3136"); helpembed.setAuthor(
helpembed.setThumbnail( `Commands of ${client.user.username}`
"https://cdn.discordapp.com/avatars/608119997713350679/d71c7cbb2ba132867367ed47261aea6d.png" )
); helpembed.setColor("#2f3136")
client.commands.map((cmd) => { helpembed.setThumbnail("https://cdn.discordapp.com/avatars/608119997713350679/d71c7cbb2ba132867367ed47261aea6d.png")
helpembed.addField(`\`${cmd.name}\``, `${cmd.description}`, true); client.commands.map((cmd) => {
}); helpembed.addField(
helpembed.setTimestamp(); `\`${cmd.name}\``,
helpembed.setFooter({ text: `© EmotionChild | Have a nice day!` }); `${cmd.description}`,
true
const row = new MessageActionRow().addComponents( );
new MessageButton() })
.setEmoji("865572290065072128") helpembed.setTimestamp()
.setLabel(`Invite ${client.user.username}`) helpembed.setFooter(`© EmotionChild | Have a nice day!`);
.setURL(
`https://discord.com/api/oauth2/authorize?client_id=726333575091454002&permissions=8&scope=bot%20applications.commands` const row = new MessageActionRow()
) .addComponents(
.setStyle("LINK") new MessageButton()
); .setEmoji('865572290065072128')
.setLabel(`Invite ${client.user.username}`)
await interaction.reply({ .setURL(`https://discord.com/api/oauth2/authorize?client_id=726333575091454002&permissions=8&scope=bot%20applications.commands`)
embeds: [helpembed], .setStyle('LINK'),
components: [row], );
ephemeral: true,
}); await interaction.reply({ embeds: [helpembed],components: [row], ephemeral: true });
}, },
}; };

View file

@ -1,30 +1,29 @@
const messages = require("../utils/messages"); const messages = require('../utils/messages');
const { EmbedBuilder, MessageActionRow, MessageButton } = require("discord.js"); const {
MessageEmbed,
MessageActionRow,
MessageButton
} = require('discord.js');
module.exports = { module.exports = {
name: "invite", name: "invite",
description: "Get Invite Link for Giveaway Child", description: "Get Invite Link for Holana",
run: async (client, interaction) => { run: async (client, interaction) => {
let invite = new EmbedBuilder()
.setTitle(`${interaction.user.tag}`) let invite = new MessageEmbed()
.setDescription("You can invite the bot by clicking on the below button.") .setAuthor(`Invite of ${client.user.username}`, `${client.user.displayAvatarURL({ format: 'png' })}`)
.setColor("#2f3136") .setColor("#2f3136")
.setFooter({ text: `© EmotionChild | Have a nice day!` }); .setFooter(`© EmotionChild | Have a nice day!`);
const row = new MessageActionRow().addComponents( const row = new MessageActionRow()
new MessageButton() .addComponents(
.setEmoji("865572290065072128") new MessageButton()
.setLabel(`Invite ${client.user.username}`) .setEmoji('865572290065072128')
.setURL( .setLabel(`Invite ${client.user.username}`)
`https://discord.com/api/oauth2/authorize?client_id=910559370843131944&permissions=8&scope=bot%20applications.commands` .setURL(`https://discord.com/api/oauth2/authorize?client_id=726333575091454002&permissions=8&scope=bot%20applications.commands`)
) .setStyle('LINK'),
.setStyle("LINK") );
);
await interaction.reply({ embeds: [invite],components: [row], ephemeral: true });
await interaction.reply({ },
embeds: [invite],
components: [row],
ephemeral: true,
});
},
}; };

View file

@ -1,71 +0,0 @@
const Discord = require("discord.js");
module.exports = {
description: "Pause a giveaway",
options: [
{
name: "giveaway",
description: "The giveaway to pause (message ID or giveaway prize)",
type: Discord.ApplicationCommandOptionType.String,
required: true,
},
],
run: async (client, interaction) => {
// If the member doesn't have enough permissions
if (
!interaction.member.permissions.has("MANAGE_MESSAGES") &&
!interaction.member.roles.cache.some((r) => r.name === "Giveaways")
) {
return interaction.reply({
content:
":x: You need to have the manage messages permissions to pause giveaways.",
ephemeral: true,
});
}
const query = interaction.options.getString("giveaway");
// try to found the giveaway with prize then with ID
const giveaway =
// Search with giveaway prize
client.giveawaysManager.giveaways.find(
(g) => g.prize === query && g.guildId === interaction.guild.id
) ||
// Search with giveaway ID
client.giveawaysManager.giveaways.find(
(g) => g.messageId === query && g.guildId === interaction.guild.id
);
// If no giveaway was found
if (!giveaway) {
return interaction.reply({
content: "Unable to find a giveaway for `" + query + "`.",
ephemeral: true,
});
}
if (giveaway.pauseOptions.isPaused) {
return interaction.reply({
content: "This giveaway is already paused.",
ephemeral: true,
});
}
// Edit the giveaway
client.giveawaysManager
.pause(giveaway.messageId)
// Success message
.then(() => {
// Success message
interaction.reply("Giveaway paused!");
})
.catch((e) => {
interaction.reply({
content: e,
ephemeral: true,
});
});
},
};

View file

@ -1,39 +1,39 @@
const messages = require("../utils/messages"); const messages = require('../utils/messages');
const { EmbedBuilder } = require("discord.js"); const { MessageEmbed } = require("discord.js");
module.exports = { module.exports = {
name: "ping", name: "ping",
description: "Tells a bot latency,", description: "Tells the bot's latency,",
run: async (client, interaction) => { run: async (client, interaction) => {
// If the member doesn't have enough permissions // If the member doesn't have enough permissions
if (!interaction.member.permissions.has("SEND_MESSAGES")) { if (!interaction.member.permissions.has("SEND_MESSAGES")) {
return interaction.reply({ return interaction.reply({
content: content:
":x: You need to have the right permissions to use this command.", ":x: You need to have the manage messages permissions to start giveaways.",
ephemeral: true, ephemeral: true,
}); });
} }
let circles = { let circles = {
green: "<:online:903711513183940669>", green: "<:online:885049752297824276>",
yellow: "<:idle:903711513490112512> ", yellow: "<:idle:885049726460899339>",
red: "<:dnd:903711513066487851>", red: "<:offline:885049312877346817>",
}; };
let botping = new EmbedBuilder() let botping = new MessageEmbed()
.setTitle(`${client.user.username} Ping`) .setTitle(`${client.user.name} Ping`)
.setColor("2f3136") .setColor("2f3136")
.addFields({ .addFields({
name: "<:connection2:896715171454677013> Bot Ping:", name: "<:link:911514727375577088> Bot Ping:",
value: `${ value: `${
client.ws?.ping <= 200 client.ws?.ping <= 200
? circles.green ? circles.green
: client.ws?.ping <= 400 : client.ws?.ping <= 400
? circles.yellow ? circles.yellow
: circles.red : circles.red
} ${client.ws?.ping}ms`, } ${client.ws?.ping}ms`,
}) })
.setTimestamp(); .setTimestamp();
await interaction.reply({ embeds: [botping] }); await interaction.reply({ embeds: [botping] });
}, },
}; };

View file

@ -1,70 +1,62 @@
const Discord = require("discord.js");
module.exports = { module.exports = {
description: "Reroll a giveaway",
options: [ description: 'Reroll a giveaway',
{
name: "giveaway",
description: "The giveaway to reroll (message ID or prize)",
type: Discord.ApplicationCommandOptionType.String,
required: true,
},
],
run: async (client, interaction) => { options: [
// If the member doesn't have enough permissions {
if ( name: 'giveaway',
!interaction.member.permissions.has("MANAGE_MESSAGES") && description: 'The giveaway to reroll (message ID or prize)',
!interaction.member.roles.cache.some((r) => r.name === "Giveaways") type: 'STRING',
) { required: true
return interaction.reply({ }
content: ],
":x: You need to have the manage messages permissions to reroll giveaways.",
ephemeral: true, run: async (client, interaction) => {
});
}
const query = interaction.options.getString("giveaway"); // If the member doesn't have enough permissions
if(!interaction.member.permissions.has('MANAGE_MESSAGES') && !interaction.member.roles.cache.some((r) => r.name === "Giveaways")){
return interaction.reply({
content: ':x: You need to have the manage messages permissions to reroll giveaways.',
ephemeral: true
});
}
// try to found the giveaway with prize then with ID const query = interaction.options.getString('giveaway');
const giveaway =
// Search with giveaway prize
client.giveawaysManager.giveaways.find(
(g) => g.prize === query && g.guildId === interaction.guild.id
) ||
// Search with giveaway ID
client.giveawaysManager.giveaways.find(
(g) => g.messageId === query && g.guildId === interaction.guild.id
);
// If no giveaway was found // try to found the giveaway with prize then with ID
if (!giveaway) { const giveaway =
return interaction.reply({ // Search with giveaway prize
content: "Unable to find a giveaway for `" + query + "`.", client.giveawaysManager.giveaways.find((g) => g.prize === query && g.guildId === interaction.guild.id) ||
ephemeral: true, // Search with giveaway ID
}); client.giveawaysManager.giveaways.find((g) => g.messageId === query && g.guildId === interaction.guild.id);
}
if (!giveaway.ended) { // If no giveaway was found
return interaction.reply({ if (!giveaway) {
content: "The giveaway is not ended yet.", return interaction.reply({
ephemeral: true, content: 'Unable to find a giveaway for `'+ query +'`.',
}); ephemeral: true
} });
}
// Reroll the giveaway if (!giveaway.ended) {
client.giveawaysManager return interaction.reply({
.reroll(giveaway.messageId) content: 'The giveaway is not ended yet.',
.then(() => { ephemeral: true
// Success message });
interaction.reply("Giveaway rerolled!"); }
})
.catch((e) => { // Reroll the giveaway
interaction.reply({ client.giveawaysManager.reroll(giveaway.messageId)
content: e, .then(() => {
ephemeral: true, // Success message
interaction.reply('Giveaway rerolled!');
})
.catch((e) => {
interaction.reply({
content: e,
ephemeral: true
});
}); });
});
}, }
}; };

View file

@ -1,77 +1,75 @@
const Discord = require("discord.js"); const ms = require('ms');
const ms = require("ms");
const messages = require("../utils/messages"); const messages = require("../utils/messages");
module.exports = { module.exports = {
description: "Start a giveaway",
options: [ description: 'Start a giveaway',
{
name: "duration",
description:
"How long the giveaway should last for. Example values: 1m, 1h, 1d",
type: Discord.ApplicationCommandOptionType.String,
required: true,
},
{
name: "winners",
description: "How many winners the giveaway should have",
type: Discord.ApplicationCommandOptionType.Integer,
required: true,
},
{
name: "prize",
description: "What the prize of the giveaway should be",
type: Discord.ApplicationCommandOptionType.String,
required: true,
},
{
name: "channel",
description: "The channel to start the giveaway in",
type: Discord.ApplicationCommandOptionType.Channel,
required: true,
},
],
run: async (client, interaction) => { options: [
// If the member doesn't have enough permissions {
if ( name: 'duration',
!interaction.member.permissions.has("MANAGE_MESSAGES") && description: 'How long the giveaway should last for. Example values: 1m, 1h, 1d',
!interaction.member.roles.cache.some((r) => r.name === "Giveaways") type: 'STRING',
) { required: true
return interaction.reply({ },
content: {
":x: You need to have the manage messages permissions to start giveaways.", name: 'winners',
ephemeral: true, description: 'How many winners the giveaway should have',
}); type: 'INTEGER',
} required: true
},
{
name: 'prize',
description: 'What the prize of the giveaway should be',
type: 'STRING',
required: true
},
{
name: 'channel',
description: 'The channel to start the giveaway in',
type: 'CHANNEL',
required: true
}
],
const giveawayChannel = interaction.options.getChannel("channel"); run: async (client, interaction) => {
const giveawayDuration = interaction.options.getString("duration");
const giveawayWinnerCount = interaction.options.getInteger("winners");
const giveawayPrize = interaction.options.getString("prize");
if (!giveawayChannel.isTextBased()) { // If the member doesn't have enough permissions
return interaction.reply({ if(!interaction.member.permissions.has('MANAGE_MESSAGES') && !interaction.member.roles.cache.some((r) => r.name === "Giveaways")){
content: ":x: Selected channel is not text-based.", return interaction.reply({
ephemeral: true, content: ':x: You need to have the manage messages permissions to start giveaways.',
}); ephemeral: true
} });
}
const giveawayChannel = interaction.options.getChannel('channel');
const giveawayDuration = interaction.options.getString('duration');
const giveawayWinnerCount = interaction.options.getInteger('winners');
const giveawayPrize = interaction.options.getString('prize');
if(!giveawayChannel.isText()) {
return interaction.reply({
content: ':x: Selected channel is not text-based.',
ephemeral: true
});
}
// Start the giveaway
client.giveawaysManager.start(giveawayChannel, {
// The giveaway duration
duration: ms(giveawayDuration),
// The giveaway prize
prize: giveawayPrize,
// The giveaway winner count
winnerCount: giveawayWinnerCount,
// Who hosts this giveaway
hostedBy: client.config.hostedBy ? interaction.user : null,
// Messages
messages
});
interaction.reply(`Giveaway started in ${giveawayChannel}!`);
}
// Start the giveaway
client.giveawaysManager.start(giveawayChannel, {
// The giveaway duration
duration: ms(giveawayDuration),
// The giveaway prize
prize: giveawayPrize,
// The giveaway winner count
winnerCount: giveawayWinnerCount,
// Who hosts this giveaway
hostedBy: client.config.hostedBy ? interaction.user : null,
// Messages
messages,
});
interaction.reply(`Giveaway started in ${giveawayChannel}!`);
},
}; };

View file

@ -1,87 +1,85 @@
const os = require("os"); const os = require('os');
const { EmbedBuilder } = require("discord.js"); const { MessageEmbed } = require('discord.js');
const feroms = require("fero-ms"); const feroms = require('fero-ms');
module.exports = { module.exports = {
name: "stats", name: 'stats',
description: "Sends bot physical statistics", description: 'Sends bot physical statistics',
run: async (client, interaction) => { run: async(client, interaction) => {
let uptime = client.uptime; let uptime = client.uptime;
let shortUptime = feroms.ms(uptime); let shortUptime = feroms.ms(uptime);
let model = os.cpus()[0].model; let model = os.cpus()[0].model;
let cores = os.cpus().length; let cores = os.cpus().length;
let platform = os.platform(); let platform = os.platform();
let nodejs = process.version; let nodejs = process.version;
let djs = require("discord.js").version; let djs = require('discord.js').version;
let botversion = require("../package.json").version; let botversion = require('../package.json').version;
let server = client.guilds.cache.size; let server = client.guilds.cache.size;
let user = client.users.cache.size; let user = client.users.cache.size;
let channel = client.channels.cache.size; let channel = client.channels.cache.size;
let statsembed = new EmbedBuilder() let statsembed = new MessageEmbed()
.addFields( .addFields(
{ {
name: "<:live2:896715171882500106> I have been online for?", name: '<:live2:896715171882500106> I have been online for?',
value: `\`\`\`${shortUptime}\`\`\``, value: `\`\`\`${shortUptime}\`\`\``
}, },
{ {
name: "<:globe:896718155416760340> Guilds", name: '<:globe:896718155416760340> Guilds',
value: `\`${server}\``, value: `\`${server}\``,
inline: true, inline: true
}, },
{ {
name: "<:mention:896718358672707584> Users", name: '<:mention:896718358672707584> Users',
value: `\`${user}\``, value: `\`${user}\``,
inline: true, inline: true
}, },
{ {
name: "<:channel:896717996326809641> Channels", name: '<:channel:896717996326809641> Channels',
value: `\`${channel}\``, value: `\`${channel}\``,
inline: true, inline: true
}, },
{ {
name: "Bot Version", name: 'Bot Version',
value: `\`v${botversion}\``, value: `\`v${botversion}\``,
inline: true, inline: true
}, },
{ {
name: "<:prime:896718399776886816> Arch", name: '<:prime:896718399776886816> Arch',
value: `\`${os.arch()}\``, value: `\`${os.arch()}\``,
inline: true, inline: true
}, },
{ {
name: "<:info:896718244461826140> Platform", name: '<:info:896718244461826140> Platform',
value: `\`${platform}\``, value: `\`${platform}\``,
inline: true, inline: true
}, },
{ {
name: "<:desktop:896718080821047346> Cores", name: '<:desktop:896718080821047346> Cores',
value: `\`${cores}\``, value: `\`${cores}\``,
inline: true, inline: true
}, },
{ {
name: "<a:Discord:896723328277024819> Discord.js Version", name: '<a:Discord:896723328277024819> Discord.js Version',
value: `\`v${djs}\``, value: `\`v${djs}\``,
inline: true, inline: true
}, },
{ {
name: "<:jss:896718571491704852> Node.js Version", name: '<:jss:896718571491704852> Node.js Version',
value: `\`${nodejs}\``, value: `\`${nodejs}\``,
inline: true, inline: true
}, },
{ {
name: "<:ram:896715172029276180> Ram Usage", name: '<:ram:896715172029276180> Ram Usage',
value: `\`${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed( value: `\`${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)}MB/ ${(os.totalmem() / 1024 / 1024).toFixed(2)}MB\``,
2 inline: true
)}MB/ ${(os.totalmem() / 1024 / 1024).toFixed(2)}MB\``, },
inline: true, {
}, name: '<:desktop:896718080821047346> CPU Model',
{ value: `\`\`\`${model}\`\`\``
name: "<:desktop:896718080821047346> CPU Model", }
value: `\`\`\`${model}\`\`\``, )
} .setTimestamp()
) await interaction.reply({ embeds: [statsembed] });
.setTimestamp(); }
await interaction.reply({ embeds: [statsembed] }); }
},
};

View file

@ -1,71 +0,0 @@
const Discord = require("discord.js");
module.exports = {
description: "Unpause a giveaway",
options: [
{
name: "giveaway",
description: "The giveaway to unpause (message ID or giveaway prize)",
type: Discord.ApplicationCommandOptionType.String,
required: true,
},
],
run: async (client, interaction) => {
// If the member doesn't have enough permissions
if (
!interaction.member.permissions.has("MANAGE_MESSAGES") &&
!interaction.member.roles.cache.some((r) => r.name === "Giveaways")
) {
return interaction.reply({
content:
":x: You need to have the manage messages permissions to unpause giveaways.",
ephemeral: true,
});
}
const query = interaction.options.getString("giveaway");
// try to found the giveaway with prize then with ID
const giveaway =
// Search with giveaway prize
client.giveawaysManager.giveaways.find(
(g) => g.prize === query && g.guildId === interaction.guild.id
) ||
// Search with giveaway ID
client.giveawaysManager.giveaways.find(
(g) => g.messageId === query && g.guildId === interaction.guild.id
);
// If no giveaway was found
if (!giveaway) {
return interaction.reply({
content: "Unable to find a giveaway for `" + query + "`.",
ephemeral: true,
});
}
if (!giveaway.pauseOptions.isPaused) {
return interaction.reply({
content: "This giveaway is not paused.",
ephemeral: true,
});
}
// Edit the giveaway
client.giveawaysManager
.unpause(giveaway.messageId)
// Success message
.then(() => {
// Success message
interaction.reply("Giveaway unpaused!");
})
.catch((e) => {
interaction.reply({
content: e,
ephemeral: true,
});
});
},
};