From 3f7d721a7af5d1a5894aecccbef33fc986292b3e Mon Sep 17 00:00:00 2001 From: JonnyBro Date: Sun, 12 Dec 2021 14:47:06 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=B3=D0=BE=D1=80=D0=B8=D0=B8=20Games=20=D0=B8=20N?= =?UTF-8?q?SFW?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- commands/Games/awkword.js | 39 +++++++++++ commands/Games/betrayal.js | 39 +++++++++++ commands/Games/checkers.js | 39 +++++++++++ commands/Games/chess.js | 39 +++++++++++ commands/Games/doodlecrew.js | 39 +++++++++++ commands/Games/fishing.js | 39 +++++++++++ commands/Games/lettertile.js | 39 +++++++++++ commands/Games/poker.js | 39 +++++++++++ commands/Games/spellcast.js | 39 +++++++++++ commands/Games/wordsnack.js | 39 +++++++++++ commands/Games/youtube.js | 39 +++++++++++ commands/NSFW/hentai.js | 98 +++++++++++++++++++++++++++ emojis.json | 2 + events/ready.js | 12 ++-- helpers/autoUpdateDocs.js | 2 +- helpers/discordTogether.js | 6 ++ languages/ru-RU/games/awkword.json | 5 ++ languages/ru-RU/games/betrayal.json | 5 ++ languages/ru-RU/games/checkers.json | 5 ++ languages/ru-RU/games/chess.json | 5 ++ languages/ru-RU/games/doodlecrew.json | 5 ++ languages/ru-RU/games/fishing.json | 5 ++ languages/ru-RU/games/lettertile.json | 5 ++ languages/ru-RU/games/poker.json | 5 ++ languages/ru-RU/games/spellcast.json | 5 ++ languages/ru-RU/games/wordsnack.json | 5 ++ languages/ru-RU/games/youtube.json | 5 ++ languages/ru-RU/general/hastebin.json | 2 +- languages/ru-RU/misc.json | 5 +- languages/ru-RU/nsfw/hentai.json | 8 +++ package.json | 1 + 31 files changed, 612 insertions(+), 8 deletions(-) create mode 100644 commands/Games/awkword.js create mode 100644 commands/Games/betrayal.js create mode 100644 commands/Games/checkers.js create mode 100644 commands/Games/chess.js create mode 100644 commands/Games/doodlecrew.js create mode 100644 commands/Games/fishing.js create mode 100644 commands/Games/lettertile.js create mode 100644 commands/Games/poker.js create mode 100644 commands/Games/spellcast.js create mode 100644 commands/Games/wordsnack.js create mode 100644 commands/Games/youtube.js create mode 100644 commands/NSFW/hentai.js create mode 100644 helpers/discordTogether.js create mode 100644 languages/ru-RU/games/awkword.json create mode 100644 languages/ru-RU/games/betrayal.json create mode 100644 languages/ru-RU/games/checkers.json create mode 100644 languages/ru-RU/games/chess.json create mode 100644 languages/ru-RU/games/doodlecrew.json create mode 100644 languages/ru-RU/games/fishing.json create mode 100644 languages/ru-RU/games/lettertile.json create mode 100644 languages/ru-RU/games/poker.json create mode 100644 languages/ru-RU/games/spellcast.json create mode 100644 languages/ru-RU/games/wordsnack.json create mode 100644 languages/ru-RU/games/youtube.json create mode 100644 languages/ru-RU/nsfw/hentai.json diff --git a/commands/Games/awkword.js b/commands/Games/awkword.js new file mode 100644 index 00000000..76543149 --- /dev/null +++ b/commands/Games/awkword.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Awkword extends Command { + constructor (client) { + super(client, { + name: "awkword", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "awkword").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Awkword") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Awkword", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Awkword; \ No newline at end of file diff --git a/commands/Games/betrayal.js b/commands/Games/betrayal.js new file mode 100644 index 00000000..31724f91 --- /dev/null +++ b/commands/Games/betrayal.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Betrayal extends Command { + constructor (client) { + super(client, { + name: "betrayal", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "betrayal").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Betrayal.io") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Betrayal.io", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Betrayal; \ No newline at end of file diff --git a/commands/Games/checkers.js b/commands/Games/checkers.js new file mode 100644 index 00000000..8c8115d7 --- /dev/null +++ b/commands/Games/checkers.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Checkers extends Command { + constructor (client) { + super(client, { + name: "checkers", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "checkers").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Checkers In The Park") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Checkers In The Park", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Checkers; \ No newline at end of file diff --git a/commands/Games/chess.js b/commands/Games/chess.js new file mode 100644 index 00000000..8dae05fa --- /dev/null +++ b/commands/Games/chess.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Chess extends Command { + constructor (client) { + super(client, { + name: "chess", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "chess").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Chess In The Park") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Chess In The Park", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Chess; \ No newline at end of file diff --git a/commands/Games/doodlecrew.js b/commands/Games/doodlecrew.js new file mode 100644 index 00000000..89dfdebd --- /dev/null +++ b/commands/Games/doodlecrew.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Doodlecrew extends Command { + constructor (client) { + super(client, { + name: "doodlecrew", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "doodlecrew").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Doodle Crew") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Doodle Crew", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Doodlecrew; \ No newline at end of file diff --git a/commands/Games/fishing.js b/commands/Games/fishing.js new file mode 100644 index 00000000..5e274b38 --- /dev/null +++ b/commands/Games/fishing.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Fishing extends Command { + constructor (client) { + super(client, { + name: "fishing", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "fishing").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Fishington.io") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Fishington.io", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Fishing; \ No newline at end of file diff --git a/commands/Games/lettertile.js b/commands/Games/lettertile.js new file mode 100644 index 00000000..6f3ee474 --- /dev/null +++ b/commands/Games/lettertile.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Lettertile extends Command { + constructor (client) { + super(client, { + name: "lettertile", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "lettertile").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Letter Tile") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Letter Tile", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Lettertile; \ No newline at end of file diff --git a/commands/Games/poker.js b/commands/Games/poker.js new file mode 100644 index 00000000..c9ff7fd3 --- /dev/null +++ b/commands/Games/poker.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Poker extends Command { + constructor (client) { + super(client, { + name: "poker", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "poker").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Poker Night") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Poker Night", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Poker; \ No newline at end of file diff --git a/commands/Games/spellcast.js b/commands/Games/spellcast.js new file mode 100644 index 00000000..8c55d282 --- /dev/null +++ b/commands/Games/spellcast.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Spellcast extends Command { + constructor (client) { + super(client, { + name: "spellcast", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "spellcast").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Spell Cast") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Spell Cast", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Spellcast; \ No newline at end of file diff --git a/commands/Games/wordsnack.js b/commands/Games/wordsnack.js new file mode 100644 index 00000000..118c2915 --- /dev/null +++ b/commands/Games/wordsnack.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Wordsnack extends Command { + constructor (client) { + super(client, { + name: "wordsnack", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "wordsnack").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Words Snack") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Words Snack", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Wordsnack; \ No newline at end of file diff --git a/commands/Games/youtube.js b/commands/Games/youtube.js new file mode 100644 index 00000000..fd5c58d5 --- /dev/null +++ b/commands/Games/youtube.js @@ -0,0 +1,39 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"); + +class Youtube extends Command { + constructor (client) { + super(client, { + name: "youtube", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ], + nsfw: false, + ownerOnly: false, + cooldown: 5000 + }); + } + + async run (message, args, data) { + const voice = message.member.voice.channel; + if (!voice) return message.error("music/play:NO_VOICE_CHANNEL"); + + const perms = voice.permissionsFor(this.client.user); + if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT"); + + this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "youtube").then(async invite => { + const embed = new Discord.MessageEmbed() + .setTitle("Youtube Together") + .setColor(data.config.embed.color) + .setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Youtube Together", channel: voice.name })}](${invite.code})**`) + .setFooter(data.config.embed.footer) + .setTimestamp() + return message.channel.send(embed); + }); + } +}; + +module.exports = Youtube; \ No newline at end of file diff --git a/commands/NSFW/hentai.js b/commands/NSFW/hentai.js new file mode 100644 index 00000000..1eaf6ec6 --- /dev/null +++ b/commands/NSFW/hentai.js @@ -0,0 +1,98 @@ +const Command = require("../../base/Command.js"), + Discord = require("discord.js"), + fetch = require("node-fetch"); + +class Hentai extends Command { + constructor (client) { + super(client, { + name: "hentai", + dirname: __dirname, + enabled: true, + guildOnly: true, + aliases: [], + memberPermissions: [], + botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS", "ATTACH_FILES" ], + nsfw: true, + ownerOnly: false, + cooldown: 2000 + }); + } + + async run (message, args, data) { + var gif = null; + const embed = new Discord.MessageEmbed() + .setColor(data.config.embed.color) + .setFooter(data.config.embed.footer) + .setTimestamp() + + switch(args[0]) { + case "neko": + gif = await fetch("https://nekos.life/api/v2/img/nsfw_neko_gif").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "cum": + gif = await fetch("https://nekos.life/api/v2/img/cum").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "solo": + gif = await fetch("https://nekos.life/api/v2/img/solo").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "anal": + gif = await fetch("https://nekos.life/api/v2/img/anal").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "yuri": + gif = await fetch("https://nekos.life/api/v2/img/yuri").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "blowjob": + gif = await fetch("https://nekos.life/api/v2/img/bj").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "bj": + gif = await fetch("https://nekos.life/api/v2/img/bj").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "pussy": + gif = await fetch("https://nekos.life/api/v2/img/pussy").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "classic": + gif = await fetch("https://nekos.life/api/v2/img/hentai").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "futa": + gif = await fetch("https://nekos.life/api/v2/img/futanari").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "futanari": + gif = await fetch("https://nekos.life/api/v2/img/futanari").then(response => response.json()); + embed.setImage(gif.url) + break; + + case "help": + embed.setTitle(message.translate("nsfw/hentai:HELP_1")) + embed.setDescription(message.translate("nsfw/hentai:HELP_2")) + break; + + default: + gif = await fetch("https://nekos.life/api/v2/img/Random_hentai_gif").then(response => response.json()); + embed.setImage(gif.url) + embed.setDescription(message.translate("nsfw/hentai:NOCATEGORY", { prefix: data.guild.prefix })) + }; + message.channel.send(embed); + } +}; + +module.exports = Hentai; \ No newline at end of file diff --git a/emojis.json b/emojis.json index 47e8a773..870caf81 100644 --- a/emojis.json +++ b/emojis.json @@ -58,12 +58,14 @@ }, "categories": { "administration": "<:atlanta_administration_category:789030159419310101>", + "games": ":video_game:", "economy": "<:atlanta_economy_category:789030493793288212>", "fun": "<:atlanta_fun_category:789030226607996958>", "general": "<:atlanta_general_category:789030444167200808>", "images": "<:atlanta_images_category:789030084861362257>", "moderation": "<:atlanta_moderation_category:789030389741781033>", "music": "<:atlanta_music_category:789030283637948417>", + "nsfw": ":smiling_imp:", "owner": "<:atlanta_owner_category:789030328261410836>", "custom": "<:atlanta_custom_category:789029974379462686>" } diff --git a/events/ready.js b/events/ready.js index 6d07d548..6e6e5a6f 100644 --- a/events/ready.js +++ b/events/ready.js @@ -12,20 +12,24 @@ module.exports = class { client.logger.log(`Loading a total of ${client.commands.size} command(s).`, "log"); client.logger.log(`${client.user.tag}, ready to serve ${client.users.cache.size} users in ${client.guilds.cache.filter(guild => guild.id != "568120814776614924" && guild.id != "892727526911258654").size} servers.`, "ready"); + /* Discord Together */ + const discordtogether = require("../helpers/discordTogether"); + discordtogether.init(client); + /* DiscordBots.org STATS */ - const discordbotsorg = require("../helpers/discordbots.org.js"); + const discordbotsorg = require("../helpers/discordbots.org"); discordbotsorg.init(client); /* UNMUTE USERS */ - const checkUnmutes = require("../helpers/checkUnmutes.js"); + const checkUnmutes = require("../helpers/checkUnmutes"); checkUnmutes.init(client); /* SEND REMINDS */ - const checkReminds = require("../helpers/checkReminds.js"); + const checkReminds = require("../helpers/checkReminds"); checkReminds.init(client); /* DAILY SHOP FORTNITE */ - const fortniteShop = require("../helpers/fortniteShop.js"); + const fortniteShop = require("../helpers/fortniteShop"); fortniteShop.init(client); // Start the dashboard diff --git a/helpers/autoUpdateDocs.js b/helpers/autoUpdateDocs.js index b9b29228..1b6f8aee 100644 --- a/helpers/autoUpdateDocs.js +++ b/helpers/autoUpdateDocs.js @@ -12,7 +12,7 @@ module.exports = { commands.forEach((cmd) => { if (!categories.includes(cmd.help.category)) categories.push(cmd.help.category); }); - let text = `# Команды \nСписок команд JaBa и их описания. JaBa имеет около **${Math.floor(commands.size/10)}0 команд** в **${categories.length} категориях**! \n\n#### Содержимое таблицы \n**Название**: Название команды \n**Описание**: Описание команды \n**Использование**: Использование команды ([] - обязательно, () - необязательно) \n**Откат**: Время, через которое команду можно будет использовать повторно\n\n`; + let text = `# Команды \nСписок команд JaBa и их описания. JaBa имеет более **${Math.floor(commands.size/10)}0 команд** в **${categories.length} категориях**! \n\n#### Содержимое таблицы \n**Название**: Название команды \n**Описание**: Описание команды \n**Использование**: Использование команды ([] - обязательно, () - необязательно) \n**Откат**: Время, через которое команду можно будет использовать повторно\n\n`; categories.sort(function(a, b) { const aCmdsLength = commands.filter((cmd) => cmd.help.category === a).array().length; diff --git a/helpers/discordTogether.js b/helpers/discordTogether.js new file mode 100644 index 00000000..1faa8156 --- /dev/null +++ b/helpers/discordTogether.js @@ -0,0 +1,6 @@ +module.exports = { + init(client) { + const { DiscordTogether } = require("discord-together"); + client.discordTogether = new DiscordTogether(client); + } +}; \ No newline at end of file diff --git a/languages/ru-RU/games/awkword.json b/languages/ru-RU/games/awkword.json new file mode 100644 index 00000000..f89b2e51 --- /dev/null +++ b/languages/ru-RU/games/awkword.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Awkword с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}awkword", + "EXAMPLES": "{{prefix}}awkword" +} \ No newline at end of file diff --git a/languages/ru-RU/games/betrayal.json b/languages/ru-RU/games/betrayal.json new file mode 100644 index 00000000..bd77621a --- /dev/null +++ b/languages/ru-RU/games/betrayal.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Betrayal.io с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}betrayal", + "EXAMPLES": "{{prefix}}betrayal" +} \ No newline at end of file diff --git a/languages/ru-RU/games/checkers.json b/languages/ru-RU/games/checkers.json new file mode 100644 index 00000000..f349c004 --- /dev/null +++ b/languages/ru-RU/games/checkers.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Checkers In The Park с помощью Discord Together!", + "USAGE": "{{prefix}}checkers", + "EXAMPLES": "{{prefix}}checkers" +} \ No newline at end of file diff --git a/languages/ru-RU/games/chess.json b/languages/ru-RU/games/chess.json new file mode 100644 index 00000000..29de4a21 --- /dev/null +++ b/languages/ru-RU/games/chess.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Chess In The Park с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}chess", + "EXAMPLES": "{{prefix}}chess" +} \ No newline at end of file diff --git a/languages/ru-RU/games/doodlecrew.json b/languages/ru-RU/games/doodlecrew.json new file mode 100644 index 00000000..7f0aaa9d --- /dev/null +++ b/languages/ru-RU/games/doodlecrew.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Doodle Crew с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}doodlecrew", + "EXAMPLES": "{{prefix}}doodlecrew" +} \ No newline at end of file diff --git a/languages/ru-RU/games/fishing.json b/languages/ru-RU/games/fishing.json new file mode 100644 index 00000000..0ecd1fd2 --- /dev/null +++ b/languages/ru-RU/games/fishing.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Fishington.io с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}fishing", + "EXAMPLES": "{{prefix}}fishing" +} \ No newline at end of file diff --git a/languages/ru-RU/games/lettertile.json b/languages/ru-RU/games/lettertile.json new file mode 100644 index 00000000..a6a55269 --- /dev/null +++ b/languages/ru-RU/games/lettertile.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Letter Tile с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}lettertile", + "EXAMPLES": "{{prefix}}letttertile" +} \ No newline at end of file diff --git a/languages/ru-RU/games/poker.json b/languages/ru-RU/games/poker.json new file mode 100644 index 00000000..1e47a91c --- /dev/null +++ b/languages/ru-RU/games/poker.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Poker Night с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}poker", + "EXAMPLES": "{{prefix}}poker" +} \ No newline at end of file diff --git a/languages/ru-RU/games/spellcast.json b/languages/ru-RU/games/spellcast.json new file mode 100644 index 00000000..49a80a9d --- /dev/null +++ b/languages/ru-RU/games/spellcast.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в SpellCast с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}spellcast", + "EXAMPLES": "{{prefix}}spellcast" +} \ No newline at end of file diff --git a/languages/ru-RU/games/wordsnack.json b/languages/ru-RU/games/wordsnack.json new file mode 100644 index 00000000..8db667a5 --- /dev/null +++ b/languages/ru-RU/games/wordsnack.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Играйте в Words Snack с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}wordsnack", + "EXAMPLES": "{{prefix}}wordsnack" +} \ No newline at end of file diff --git a/languages/ru-RU/games/youtube.json b/languages/ru-RU/games/youtube.json new file mode 100644 index 00000000..acd2b8aa --- /dev/null +++ b/languages/ru-RU/games/youtube.json @@ -0,0 +1,5 @@ +{ + "DESCRIPTION": "Смотрите Youtube с друзьями с помощью Discord Together!", + "USAGE": "{{prefix}}youtube", + "EXAMPLES": "{{prefix}}youtube" +} \ No newline at end of file diff --git a/languages/ru-RU/general/hastebin.json b/languages/ru-RU/general/hastebin.json index be441c28..49c567e6 100644 --- a/languages/ru-RU/general/hastebin.json +++ b/languages/ru-RU/general/hastebin.json @@ -1,6 +1,6 @@ { "DESCRIPTION": "Опубликовать ваш текст на Hastebin!", - "USAGE": "{{prefix}}hastebin [текс]", + "USAGE": "{{prefix}}hastebin [текст]", "EXAMPLES": "{{prefix}}hastebin Hello World!", "MISSING_TEXT": "Введите текст!", "SUCCESS": "Успешно опубликовано!" diff --git a/languages/ru-RU/misc.json b/languages/ru-RU/misc.json index de3060bf..31e997cd 100644 --- a/languages/ru-RU/misc.json +++ b/languages/ru-RU/misc.json @@ -2,10 +2,11 @@ "ERR_OCCURRED": "Что-то пошло не так... Пожалуйста, попробуйте позже!", "PLEASE_WAIT": "Пожалуйста подождите...", "COMMAND_DISABLED": "Эта команда на данный момент отключена!", + "CLICK_HERE": "Нажмите сюда, чтобы начать {{activity}} в {{channel}}", "TIMES_UP": "Время вышло! Пожалуйста, используйте команду снова!", - "INVALID_YES_NO": "Отправьте \"да\" or \"нет\" (регистр не важен)!", + "INVALID_YES_NO": "Отправьте \"да\" или \"нет\" (регистр не важен)!", "INVALID_CHANNEL": "Пожалуйста, укажите существующий канал!", - "INVALID_TIME": "Укажите действительное время! Доступные единицы: `s`, `m`, `h` or `d`", + "INVALID_TIME": "Укажите действительное время! Доступные единицы: `s`, `m`, `h` или `d`", "INVALID_NUMBER": "Пожалуйста, укажите число!", "INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!", "STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Поддержать]({{donateLink}}) (для других способов пишите в ЛС @<{{owner}}>)", diff --git a/languages/ru-RU/nsfw/hentai.json b/languages/ru-RU/nsfw/hentai.json new file mode 100644 index 00000000..b8bbbf26 --- /dev/null +++ b/languages/ru-RU/nsfw/hentai.json @@ -0,0 +1,8 @@ +{ + "DESCRIPTION": "Получить гифку NSFW содержания", + "USAGE": "{{prefix}}hentai (категория/help)", + "EXAMPLES": "{{prefix}}hentai\n{{prefix}}hentai help", + "NOCATEGORY": "Если Вы хотите увидеть что-либо из определённой категории, введите её название после команды.\nИспользуйте **`{{prefix}}hentai help`** чтобы увидеть все категории\n", + "HELP_1": "Доступные категории (вы так же можете использовать команду без аргументов)", + "HELP_2": "```neko\ncum\nsolo\nanal\nyuri\nblowjob - bj\npussy\nclassic\nfutanari - futa\n```" +} \ No newline at end of file diff --git a/package.json b/package.json index 77531413..adcd49b8 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "discord-giveaways": "^4.4.3", "discord-paginationembed": "^2.1.0", "discord-player": "^4.1.0", + "discord-together": "^1.3.25", "discord.js": "^12.5.3", "ejs": "^3.1.3", "express": "^4.17.1",