mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-25 06:34:58 +05:00
Немного переделал giveaway, должно быть удобнее в пользовании
This commit is contained in:
parent
38c4ac94c9
commit
26205d1416
2 changed files with 26 additions and 12 deletions
|
@ -17,7 +17,7 @@ class Giveaway extends BaseCommand {
|
|||
.setDescription(client.translate("moderation/giveaway:GIVEAWAY_ID")))
|
||||
.addStringOption(option => option.setName("duration")
|
||||
.setDescription(client.translate("common:DURATION")))
|
||||
.addStringOption(option => option.setName("winners_count")
|
||||
.addIntegerOption(option => option.setName("winners_count")
|
||||
.setDescription(client.translate("moderation/giveaway:WINNERS_COUNT")))
|
||||
.addStringOption(option => option.setName("prize")
|
||||
.setDescription(client.translate("moderation/giveaway:PRIZE")))
|
||||
|
@ -42,19 +42,29 @@ class Giveaway extends BaseCommand {
|
|||
* @param {Object} data
|
||||
*/
|
||||
async execute(client, interaction) {
|
||||
const options = ["create", "reroll", "delete", "end"].map(tag =>
|
||||
JSON.parse(JSON.stringify({
|
||||
label: tag,
|
||||
value: tag
|
||||
}))
|
||||
);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
new SelectMenuBuilder()
|
||||
.setCustomId("giveaway_select")
|
||||
.setPlaceholder(client.translate("common:NOTHING_SELECTED"))
|
||||
.addOptions(options)
|
||||
.addOptions([
|
||||
{
|
||||
label: interaction.translate("moderation/giveaway:CREATE"),
|
||||
value: "create"
|
||||
},
|
||||
{
|
||||
label: interaction.translate("moderation/giveaway:REROLL"),
|
||||
value: "reroll"
|
||||
},
|
||||
{
|
||||
label: interaction.translate("moderation/giveaway:DELETE"),
|
||||
value: "delete"
|
||||
},
|
||||
{
|
||||
label: interaction.translate("moderation/giveaway:END"),
|
||||
value: "end"
|
||||
}
|
||||
])
|
||||
);
|
||||
|
||||
const msg = await interaction.reply({
|
||||
|
@ -83,13 +93,13 @@ class Giveaway extends BaseCommand {
|
|||
if (!duration) return i.update({ content: interaction.translate("moderation/giveaway:INVALID_CREATE") });
|
||||
if (ms(duration) > ms("10d")) return i.update({ content: interaction.translate("moderation/giveaway:MAX_DURATION") });
|
||||
|
||||
const winnersCount = interaction.options.getString("winners_count");
|
||||
const winnersCount = interaction.options.getInteger("winners_count");
|
||||
if (!winnersCount) return i.update({ content: interaction.translate("moderation/giveaway:INVALID_CREATE") });
|
||||
if (isNaN(winnersCount) || winnersCount > 10 || winnersCount < 1) return i.update({ content: interaction.translate("misc:INVALID_NUMBER_RANGE", { min: 1, max: 10 }) });
|
||||
if (winnersCount > 10 || winnersCount < 1) return i.update({ content: interaction.translate("misc:INVALID_NUMBER_RANGE", { min: 1, max: 10 }) });
|
||||
|
||||
const prize = interaction.options.getString("prize");
|
||||
if (!prize) return i.update({ content: interaction.translate("moderation/giveaway:INVALID_CREATE") });
|
||||
const isdrop = interaction.options.getString("isdrop");
|
||||
const isdrop = interaction.options.getBoolean("isdrop");
|
||||
|
||||
client.giveawaysManager.start(interaction.channel, {
|
||||
duration: ms(duration),
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
"DESCRIPTION": "Управление раздачами",
|
||||
"USAGE": "[create/reroll/delete/end] [время] [кол-во победителей] [приз] (Дроп?)",
|
||||
"EXAMPLES": "giveaway create 1d 2 Discord Нитро!\ngiveaway create 1d 2 true Discord Нитро\ngiveaway reroll 597812898022031374",
|
||||
"CREATE": "Создать",
|
||||
"REROLL": "Заролить снова",
|
||||
"DELETE": "Удалить",
|
||||
"END": "Закончить принудительно",
|
||||
"INVALID_CREATE": "Какой-то из аргументов указан неверно, попробуйте снова!",
|
||||
"GIVEAWAY_ID": "ID сообщения раздачи",
|
||||
"WINNERS_COUNT": "Количество победителей",
|
||||
|
|
Loading…
Reference in a new issue