Новая функция - дроп в giveaway

This commit is contained in:
JonnyBro 2022-01-05 02:11:13 +05:00
parent 21b1bb5fe8
commit af14742510
4 changed files with 23 additions and 11 deletions

View file

@ -98,11 +98,10 @@ class JaBa extends Client {
this.giveawaysManager = new GiveawaysManager(this, { this.giveawaysManager = new GiveawaysManager(this, {
storage: "./giveaways.json", storage: "./giveaways.json",
updateCountdownEvery: 10000,
default: { default: {
botsCanWin: false, botsCanWin: false,
embedColor: this.config.embed.color, embedColor: this.config.embed.color,
embedColorEnd: "FF00000", embedColorEnd: "#FF0000",
reaction: "🎉" reaction: "🎉"
} }
}); });

View file

@ -8,7 +8,7 @@ class Giveaway extends Command {
dirname: __dirname, dirname: __dirname,
enabled: true, enabled: true,
guildOnly: true, guildOnly: true,
aliases: ["gway"], aliases: ["gaway"],
memberPermissions: ["MENTION_EVERYONE"], memberPermissions: ["MENTION_EVERYONE"],
botPermissions: ["SEND_MESSAGES", "EMBED_LINKS"], botPermissions: ["SEND_MESSAGES", "EMBED_LINKS"],
nsfw: false, nsfw: false,
@ -34,23 +34,33 @@ class Giveaway extends Command {
if (!winnersCount) return message.error("moderation/giveaway:INVALID_CREATE", { prefix: data.guild.prefix }); if (!winnersCount) return message.error("moderation/giveaway:INVALID_CREATE", { prefix: data.guild.prefix });
if (isNaN(winnersCount) || winnersCount > 10 || winnersCount < 1) return message.error("misc:INVALID_NUMBER_RANGE", { min: 1, max: 10 }); if (isNaN(winnersCount) || winnersCount > 10 || winnersCount < 1) return message.error("misc:INVALID_NUMBER_RANGE", { min: 1, max: 10 });
const prize = args.slice(3).join(" "); var drop = (args[3] === "true"),
prize = args.slice(3).join(" ");
if (drop) prize = args.slice(4).join(" ");
else prize = args.slice(3).join(" ");
if (!prize) return message.error("moderation/giveaway:INVALID_CREATE", { prefix: data.guild.prefix }); if (!prize) return message.error("moderation/giveaway:INVALID_CREATE", { prefix: data.guild.prefix });
this.client.giveawaysManager.start(message.channel, { this.client.giveawaysManager.start(message.channel, {
time: ms(time), duration: ms(time),
prize: prize,
winnerCount: parseInt(winnersCount, 10), winnerCount: parseInt(winnersCount, 10),
prize: prize,
hostedBy: message.author,
isDrop: drop,
messages: { messages: {
giveaway: message.translate("moderation/giveaway:TITLE"), giveaway: message.translate("moderation/giveaway:TITLE"),
giveawayEnded: message.translate("moderation/giveaway:ENDED"), giveawayEnded: message.translate("moderation/giveaway:ENDED"),
timeRemaining: message.translate("moderation/giveaway:TIME_REMAINING"), timeRemaining: message.translate("moderation/giveaway:TIME_REMAINING"),
inviteToParticipate: message.translate("moderation/giveaway:INVITE_PARTICIPATE"), inviteToParticipate: message.translate("moderation/giveaway:INVITE_PARTICIPATE"),
winMessage: message.translate("moderation/giveaway:WIN_MESSAGE"), winMessage: message.translate("moderation/giveaway:WIN_MESSAGE"),
drawing: message.translate("moderation/giveaway:DRAWING"),
dropMessage: message.translate("moderation/giveaway:DROP"),
embedFooter: message.translate("moderation/giveaway:FOOTER"), embedFooter: message.translate("moderation/giveaway:FOOTER"),
noWinner: message.translate("moderation/giveaway:NO_WINNER"), noWinner: message.translate("moderation/giveaway:NO_WINNER"),
winners: message.translate("moderation/giveaway:WINNERS"), winners: message.translate("moderation/giveaway:WINNERS"),
endedAt: message.translate("moderation/giveaway:END_AT"), endedAt: message.translate("moderation/giveaway:END_AT"),
hostedBy: message.translate("moderation/giveaway:HOSTEDBY"),
units: { units: {
seconds: message.translate("time:SECONDS", { seconds: message.translate("time:SECONDS", {
amount: "" amount: ""

View file

@ -1,7 +1,7 @@
{ {
"DESCRIPTION": "Управление раздачами!", "DESCRIPTION": "Управление раздачами!",
"USAGE": "{{prefix}}giveaway [create/reroll/delete/end] (время) (кол-во победителей) (приз)", "USAGE": "{{prefix}}giveaway [create/reroll/delete/end] [время] [кол-во победителей] (Дроп? true) [приз]",
"EXAMPLES": "{{prefix}}giveaway create 10m 2 100 рублей на карту!\n{{prefix}}giveaway reroll 597812898022031374", "EXAMPLES": "{{prefix}}giveaway create 1d 2 100 рублей на карту!\n{{prefix}}giveaway create 1d 2 true 100 рублей на карту\n{{prefix}}giveaway reroll 597812898022031374",
"MISSING_STATUS": "Выберите действие: `create`, `reroll`, `end` или `delete`!", "MISSING_STATUS": "Выберите действие: `create`, `reroll`, `end` или `delete`!",
"INVALID_CREATE": "Какой-то из аргументов указан неверно, попробуйте снова!", "INVALID_CREATE": "Какой-то из аргументов указан неверно, попробуйте снова!",
"MISSING_ID": "Укажите ID сообщения раздачи!", "MISSING_ID": "Укажите ID сообщения раздачи!",
@ -13,11 +13,14 @@
"ENDED": "🎉🎉 **РАЗДАЧА ОКОНЧЕНА** 🎉🎉", "ENDED": "🎉🎉 **РАЗДАЧА ОКОНЧЕНА** 🎉🎉",
"TIME_REMAINING": "Оставшееся время: **{duration}**!", "TIME_REMAINING": "Оставшееся время: **{duration}**!",
"INVITE_PARTICIPATE": "Отреагируйте 🎉, чтобы участвовать!", "INVITE_PARTICIPATE": "Отреагируйте 🎉, чтобы участвовать!",
"WIN_MESSAGE": "Поздравляем, {winners}! Вы выиграли **{prize}**!", "WIN_MESSAGE": "Поздравляем, {winners}! Вы выиграли **{this.prize}**!",
"DRAWING": "Заканчивается: {timestamp}",
"DROP": "Будь первым кто отреагирует 🎉!",
"FOOTER": "Раздача", "FOOTER": "Раздача",
"NO_WINNER": "Раздача отменена, никто не участвовал.", "NO_WINNER": "Раздача отменена, никто не участвовал.",
"WINNERS": "Победитель(и)", "WINNERS": "Победитель(и)",
"END_AT": "Заканчивается", "END_AT": "Закончилась:",
"HOSTEDBY": "Организатор: {this.hostedBy}",
"REROLL_CONGRAT": "🎉 Новый(е) побелитель(и): {winners}! Поздравляем!", "REROLL_CONGRAT": "🎉 Новый(е) побелитель(и): {winners}! Поздравляем!",
"REROLL_ERROR": "Нет действительных заявок, никто не выиграл!", "REROLL_ERROR": "Нет действительных заявок, никто не выиграл!",
"GIVEAWAY_CREATED": "Раздача начата!", "GIVEAWAY_CREATED": "Раздача начата!",

View file

@ -31,7 +31,7 @@
"dblapi.js": "^2.3.0", "dblapi.js": "^2.3.0",
"discord-backup": "^3.0.1", "discord-backup": "^3.0.1",
"discord-canvas": "^1.3.2", "discord-canvas": "^1.3.2",
"discord-giveaways": "^5.0.1", "discord-giveaways": "github:Androz2091/discord-giveaways#develop",
"discord-paginationembed": "github:gazmull/discord-paginationembed#v3", "discord-paginationembed": "github:gazmull/discord-paginationembed#v3",
"discord-together": "^1.3.25", "discord-together": "^1.3.25",
"discord.js": "^13.5.0", "discord.js": "^13.5.0",