mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-21 20:54:58 +05:00
v4.2.6 - https://github.com/JonnyBro/JaBa
This commit is contained in:
parent
fd2796865c
commit
c6e1e16fe9
25 changed files with 179 additions and 52 deletions
15
README.md
15
README.md
|
@ -25,16 +25,17 @@ JaBa предлагает:
|
|||
|
||||
JaBa имеет множество функций, вот **8 основных категорий**:
|
||||
|
||||
* 👩💼 **Администрирование**: `automod`, `autorole`, `config`, `goodbye`, `selectroles`, `stealemoji` и ещё **три** команды!
|
||||
* 🚓 **Модерация**: `clear`, `giveaway`, `poll`, `warn` и ещё **три** команды!
|
||||
* 🎵 **Музыка**: `play`, `skip`, `queue`, `nowplaying`, `shuffle` и ещё **семь** команды!
|
||||
* 💰 **Экономика**: `profile`, `work`, `achievements`, `slots`, `tictactoe`, `leaderboard` и ещё **двенадцать** команд!
|
||||
* 👻 **Веселье**: `8ball`, `crab`, `lmgtfy`, `lovecalc`, `memes` и ещё **две** команды!
|
||||
* 👩💼 **Администрирование**: `automod`, `autorole`, `config`, `goodbye`, `selectroles`, `stealemoji` и ещё **3** команды!
|
||||
* 🚓 **Модерация**: `clear`, `giveaway`, `poll`, `warn` и ещё **3** команды!
|
||||
* 🎵 **Музыка**: `play`, `skip`, `queue`, `nowplaying`, `shuffle` и ещё **7** команды!
|
||||
* 💰 **Экономика**: `profile`, `work`, `achievements`, `slots`, `tictactoe`, `leaderboard` и ещё **12** команд!
|
||||
* 👻 **Веселье**: `8ball`, `crab`, `lmgtfy`, `lovecalc`, `memes` и ещё **2** команды!
|
||||
* 🖨️ **Основные**: `afk`, `avatar`, `boosters`, `minecraft`, `remindme`, `shorturl`, `serverinfo`, `userinfo`, `whois` и ещё **семь** команд!
|
||||
* ❤ **NSFW**: `nsfw` =)
|
||||
* 👑 **Команды владельца**: `eval`, `getinvite`, `servers-list` and **2** more!
|
||||
* 👑 **Команды владельца**: `eval`, `getinvite`, `servers-list` и ещё **2** команды!
|
||||
|
||||
[Полный список команд и список изменений](http://jababot.duckdns.org/docs)
|
||||
[Список изменений](/dashboard/public/docs/updates.md)
|
||||
[Полный список команд](http://jababot.duckdns.org:8080/docs)
|
||||
|
||||
### Мощная панель управления
|
||||
|
||||
|
|
|
@ -51,12 +51,16 @@ class Help extends BaseCommand {
|
|||
|
||||
if (command) {
|
||||
if (commands.find(c => c.command.name === command).category === "Owner" && interaction.user.id !== client.config.owner.id) return interaction.error("misc:OWNER_ONLY", null, { edit: true, ephemeral: true });
|
||||
|
||||
return interaction.editReply({ embeds: [ generateCommandHelp(interaction, command) ] });
|
||||
}
|
||||
|
||||
commands.forEach(c => {
|
||||
if (!categories.includes(c.category)) {
|
||||
if (c.category === "Owner" && interaction.user.id !== client.config.owner.id) return;
|
||||
if (c.category === "IAT" && interaction.guildId !== "1039187019957555252") return;
|
||||
if (c.category === "SunCountry" && interaction.guildId !== "600970971410857996") return;
|
||||
|
||||
categories.push(c.category);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -37,8 +37,6 @@ class Checkjar extends BaseCommand {
|
|||
* @param {Object} data
|
||||
*/
|
||||
async execute(client, interaction) {
|
||||
if (!interaction.guildId === "1039187019957555252") return interaction.reply({ content: "error", ephemeral: true });
|
||||
|
||||
await interaction.deferReply();
|
||||
|
||||
const jarsList = await fetch("https://api.monobank.ua/personal/client-info", {
|
||||
|
|
|
@ -38,7 +38,7 @@ class NSFW extends BaseCommand {
|
|||
async execute(client, interaction) {
|
||||
await interaction.deferReply({ ephemeral: true });
|
||||
|
||||
if (interaction.guildId && !interaction.channel.nsfw) return interaction.replyT("misc:NSFW_COMMAND", null, { ephemeral: true, edit: true });
|
||||
if (interaction.guildId && !interaction.channel.nsfw) return interaction.replyT("misc:NSFW_COMMAND", null, { edit: true });
|
||||
|
||||
const tags = ["hentai", "ecchi", "lewdanimegirls", "hentaifemdom", "animefeets", "animebooty", "biganimetiddies", "sideoppai", "ahegao"].map(tag =>
|
||||
JSON.parse(JSON.stringify({
|
||||
|
|
119
commands/SunCountry/sendmessage.js
Normal file
119
commands/SunCountry/sendmessage.js
Normal file
|
@ -0,0 +1,119 @@
|
|||
const { SlashCommandBuilder, EmbedBuilder } = require("discord.js");
|
||||
const BaseCommand = require("../../base/BaseCommand");
|
||||
|
||||
class Sendmessage extends BaseCommand {
|
||||
/**
|
||||
*
|
||||
* @param {import("../../base/JaBa")} client
|
||||
*/
|
||||
constructor(client) {
|
||||
super({
|
||||
command: new SlashCommandBuilder()
|
||||
.setName("sendmessage")
|
||||
.setDescription(client.translate("suncountry/sendmessage:DESCRIPTION"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("suncountry/sendmessage:DESCRIPTION", null, "uk-UA"),
|
||||
"ru": client.translate("suncountry/sendmessage:DESCRIPTION", null, "ru-RU"),
|
||||
})
|
||||
.setDMPermission(true)
|
||||
.addSubcommand(subcommand => subcommand.setName("rpinfo")
|
||||
.setDescription(client.translate("suncountry/sendmessage:RPINFO"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("suncountry/sendmessage:RPINFO", null, "uk-UA"),
|
||||
"ru": client.translate("suncountry/sendmessage:RPINFO", null, "ru-RU"),
|
||||
})
|
||||
.addStringOption(option => option.setName("text")
|
||||
.setDescription(client.translate("common:MESSAGE"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("common:MESSAGE", null, "uk-UA"),
|
||||
"ru": client.translate("common:MESSAGE", null, "ru-RU"),
|
||||
})
|
||||
.setRequired(true))
|
||||
.addAttachmentOption(option => option.setName("attachment")
|
||||
.setDescription(client.translate("common:ATTACHMENT"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("common:ATTACHMENT", null, "uk-UA"),
|
||||
"ru": client.translate("common:ATTACHMENT", null, "ru-RU"),
|
||||
})),
|
||||
)
|
||||
.addSubcommand(subcommand => subcommand.setName("instalife")
|
||||
.setDescription(client.translate("suncountry/sendmessage:INSTALIFE"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("suncountry/sendmessage:INSTALIFE", null, "uk-UA"),
|
||||
"ru": client.translate("suncountry/sendmessage:INSTALIFE", null, "ru-RU"),
|
||||
})
|
||||
.addStringOption(option => option.setName("name")
|
||||
.setDescription(client.translate("common:USERNAME"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("common:USERNAME", null, "uk-UA"),
|
||||
"ru": client.translate("common:USERNAME", null, "ru-RU"),
|
||||
})
|
||||
.setRequired(true))
|
||||
.addStringOption(option => option.setName("text")
|
||||
.setDescription(client.translate("common:MESSAGE"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("common:MESSAGE", null, "uk-UA"),
|
||||
"ru": client.translate("common:MESSAGE", null, "ru-RU"),
|
||||
})
|
||||
.setRequired(true))
|
||||
.addAttachmentOption(option => option.setName("attachment")
|
||||
.setDescription(client.translate("common:ATTACHMENT"))
|
||||
.setDescriptionLocalizations({
|
||||
"uk": client.translate("common:ATTACHMENT", null, "uk-UA"),
|
||||
"ru": client.translate("common:ATTACHMENT", null, "ru-RU"),
|
||||
})),
|
||||
),
|
||||
aliases: [],
|
||||
dirname: __dirname,
|
||||
ownerOnly: false,
|
||||
});
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {import("../../base/JaBa")} client
|
||||
*/
|
||||
async onLoad() {
|
||||
//...
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {import("../../base/JaBa")} client
|
||||
* @param {import("discord.js").ChatInputCommandInteraction} interaction
|
||||
* @param {Object} data
|
||||
*/
|
||||
async execute(client, interaction) {
|
||||
await interaction.deferReply({ ephemeral: true });
|
||||
|
||||
const guild = client.guilds.cache.get("600970971410857996"),
|
||||
channel = command === "rpinfo" ? guild.channels.cache.get("1119571321421058098") : guild.channels.cache.get("1119579266376540213");
|
||||
|
||||
const command = interaction.options.getSubcommand(),
|
||||
text = interaction.options.getString("text"),
|
||||
name = interaction.options.getString("name"),
|
||||
attachment = interaction.options.getAttachment("attachment");
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor(client.config.embed.color)
|
||||
.setTitle("InstaLife")
|
||||
.setAuthor({
|
||||
name: `@${name}`,
|
||||
})
|
||||
.setImage(attachment ? attachment.url : null)
|
||||
.setDescription(text);
|
||||
|
||||
channel.send({
|
||||
content: command === "rpinfo" ? text : null,
|
||||
files: command === "rpinfo" ? (attachment ? [{
|
||||
name: attachment.name,
|
||||
attachment: attachment.url,
|
||||
}] : null) : null,
|
||||
embeds: command === "instalife" ? [embed] : null,
|
||||
}).then(message => {
|
||||
interaction.success("suncountry/sendmessage:MESSAGE_SENT", {
|
||||
message: message.url,
|
||||
}, { edit: true });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Sendmessage;
|
|
@ -1,3 +1,11 @@
|
|||
### JaBa v4.2.6
|
||||
* Добавлено
|
||||
* Эксклюзив для SunCountry RP: *sendmessage* - отправить (анонимное) сообщение в выбранный канал.
|
||||
|
||||
* Изменено
|
||||
* Отключено уведомление об ачивках, включу когда переделаю.\
|
||||
Хочу отправлять их в ЛС.
|
||||
|
||||
### JaBa v4.2.5
|
||||
* Изменено
|
||||
* Изменения в локализации, основным языком теперь является английский.\
|
||||
|
|
|
@ -44,6 +44,10 @@ class CommandHandler extends BaseEvent {
|
|||
if (command.guildOnly && !interaction.inGuild()) return interaction.error("misc:GUILD_ONLY", null, { ephemeral: true });
|
||||
if (command.ownerOnly && interaction.user.id !== client.config.owner.id) return interaction.error("misc:OWNER_ONLY", null, { ephemeral: true });
|
||||
|
||||
if (!interaction.guildId === "1039187019957555252") return interaction.error({ content: "IAT Only", ephemeral: true }); // IAT
|
||||
if (!interaction.guildId === "600970971410857996") return interaction.error({ content: "SC Only", ephemeral: true }); // SC
|
||||
|
||||
/*
|
||||
if (!userData.achievements.firstCommand.achieved) {
|
||||
const args = {
|
||||
content: interaction.user.toString(),
|
||||
|
@ -60,6 +64,7 @@ class CommandHandler extends BaseEvent {
|
|||
|
||||
interaction.channel.isDMBased() ? interaction.user.send(args) : await interaction.channel.send(args);
|
||||
}
|
||||
*/
|
||||
|
||||
client.logger.log(`User ${interaction.user.discriminator === "0" ? interaction.user.username : interaction.user.tag} used ${command.command.name} in ${interaction.guild ? interaction.guild.name : "DM"} with arguments: ${interaction.options.data.length > 0 ? interaction.options.data.map(arg => { return `${arg.name}: ${arg.value}`; }).join(", ") : "no args"}`, "cmd");
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggles messages when a user leaves the server",
|
||||
"USAGE": "config [state] [#channel] [message] [image]\nOr [test]",
|
||||
"EXAMPLES": "goodbye state:True channel:#welcome Goodbye! image:True\ngoodbye test",
|
||||
"EXAMPLES": "goodbye config state:True channel:#welcome Goodbye! image:True\ngoodbye test",
|
||||
"TEST": "Test",
|
||||
"TEST_SUCCESS": "Test successful",
|
||||
"CONFIG": "Configure",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"DESCRIPTION": "Toggles welcome messages when a user joins the server",
|
||||
"USAGE": "config [state] [#channel] [message] [image]\nOr [test]",
|
||||
"EXAMPLES": "welcome state:True channel:#welcome Welcome! image:True\nwelcome test",
|
||||
"EXAMPLES": "welcome config state:True channel:#welcome Welcome! image:True\nwelcome test",
|
||||
"ENABLED": "Welcome messages are enabled in {{channel}}!\nUse `welcome test` to view the message",
|
||||
"DISABLED": "Welcome messages are disabled",
|
||||
"DEFAULT_MESSAGE": "Welcome, {user}! We now have {membercount} members",
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"ACCEPT": "Accept",
|
||||
"ACTIVITY": "Activity",
|
||||
"APPLY": "Apply",
|
||||
"ATTACHMENT": "Attachment",
|
||||
"AUTHOR": "Author",
|
||||
"AVAILABLE_OPTIONS": "Available options:",
|
||||
"CATEGORY": "Category",
|
||||
|
|
8
languages/en-US/suncountry/sendmessage.json
Normal file
8
languages/en-US/suncountry/sendmessage.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"DESCRIPTION": "Send an anonymous message to the selected channel",
|
||||
"USAGE": "rpinfo [text] (attachment)\ninstalife [text] (attachment)",
|
||||
"EXAMPLES": "sendmessage rpinfo text:Happy New Year, everyone!\nsendmessage instalife text:Accident at the Police Station! attachment:<image>",
|
||||
"RPINFO": "Send a message to RP Info",
|
||||
"INSTALIFE": "Send a message to InstaLife",
|
||||
"MESSAGE_SENT": "Message sent!\n{{message}}"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"DESCRIPTION": "Включить или отключить сообщения при выходе пользователя с сервера",
|
||||
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]",
|
||||
"EXAMPLES": "goodbye state:True channel:#welcome Прощай! image:True\ngoodbye test",
|
||||
"EXAMPLES": "goodbye config state:True channel:#welcome Прощай! image:True\ngoodbye test",
|
||||
"TEST": "Проверить",
|
||||
"TEST_SUCCESS": "Тест выполнен",
|
||||
"CONFIG": "Настроить",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"DESCRIPTION": "Включить или отключить сообщения при входе пользователя на сервер",
|
||||
"USAGE": "config [state] [#channel] [message] [image] \nИли [test]",
|
||||
"EXAMPLES": "welcome state:True channel:#welcome Добро пожаловать! image:True\nwelcome test",
|
||||
"EXAMPLES": "welcome config state:True channel:#welcome Добро пожаловать! image:True\nwelcome test",
|
||||
"ENABLED": "Приветствующие сообщения включены в {{channel}}!\nИспользуйте `welcome test` для просмотра сообщения",
|
||||
"DISABLED": "Приветствующие сообщения отключены",
|
||||
"DEFAULT_MESSAGE": "Добро пожаловать {user}! Нас теперь {membercount}",
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"ACCEPT": "Принять",
|
||||
"ACTIVITY": "Активность",
|
||||
"APPLY": "Применить",
|
||||
"ATTACHMENT": "Вложение",
|
||||
"AUTHOR": "Автор",
|
||||
"AVAILABLE_OPTIONS": "Доступные параметры:",
|
||||
"CATEGORY": "Категория",
|
||||
|
|
8
languages/ru-RU/suncountry/sendmessage.json
Normal file
8
languages/ru-RU/suncountry/sendmessage.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"DESCRIPTION": "Отправить анонимноее сообщение в выбранный канал",
|
||||
"USAGE": "rpinfo [text] (attachment)\ninstalife [text] (attachment)",
|
||||
"EXAMPLES": "sendmessage rpinfo text:Всех с новым годом!\nsendmessage instalife text:Авария в ПУ! attachment:<image>",
|
||||
"RPINFO": "Отправить сообщение в RP Info",
|
||||
"INSTALIFE": "Отправить сообщение в InstaLife",
|
||||
"MESSAGE_SENT": "Сообщение отправлено!\n{{message}}"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"DESCRIPTION": "Увімкнути або вимкнути повідомлення при виході користувача з сервера",
|
||||
"USAGE": "config [state] [#channel] [message] [image] \nАбо [test]",
|
||||
"EXAMPLES": "goodbye state:True channel:#welcome Прощай! image:True\ngoodbye test",
|
||||
"EXAMPLES": "goodbye config state:True channel:#welcome Прощай! image:True\ngoodbye test",
|
||||
"TEST": "Перевірити",
|
||||
"TEST_SUCCESS": "Тест виконано",
|
||||
"CONFIG": "Налаштувати",
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Встановити канал для вітання з днем народження",
|
||||
"USAGE": "[state] (#channel)",
|
||||
"EXAMPLES": "setbirthdays state:True channel:#birthdays\nsetbirthdays state:False",
|
||||
"ENABLED": "Привітання включені в канал **{{channel}}**",
|
||||
"DISABLED": "Вітання відключені"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Встановити канал для логів модерації",
|
||||
"USAGE": "[state] (#channel)",
|
||||
"EXAMPLES": "setmodlogs state:True channel:#логи\nsetmodlogs state:False",
|
||||
"ENABLED": "Логи модерації включені в канал **{{channel}}**",
|
||||
"DISABLED": "Логи модерації вимкнені"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Встановити канал для новин бота",
|
||||
"USAGE": "[state] (#channel)",
|
||||
"EXAMPLES": "setnews state:True channel:#bot-news\nsetnews state:False",
|
||||
"ENABLED": "Новини бота включені в канал **{{channel}}**",
|
||||
"DISABLED": "Новини бота вимкнені"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Встановити канал для скарг",
|
||||
"USAGE": "[state] (#channel)",
|
||||
"EXAMPLES": "setreports state:True channel:#скарги\nsetreports state:False",
|
||||
"ENABLED": "Скарги надсилатимуться в **{{channel}}**",
|
||||
"DISABLED": "Скарги відключені"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"DESCRIPTION": "Встановити канал для пропозицій",
|
||||
"USAGE": "[state] (#channel)",
|
||||
"EXAMPLES": "setsuggests state:True channel:#пропозиції\nsetsuggests state:False",
|
||||
"ENABLED": "Пропозиції надсилатимуться в **{{channel}}**",
|
||||
"DISABLED": "Пропозиції вимкнено"
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"DESCRIPTION": "Увімкнути або вимкнути повідомлення під час входу користувача на сервер",
|
||||
"USAGE": "config [state] [#channel] [message] [image] \nАбо [test]",
|
||||
"EXAMPLES": "welcome state:True channel:#welcome Ласкаво просимо! image:True\nwelcome test",
|
||||
"EXAMPLES": "welcome config state:True channel:#welcome Ласкаво просимо! image:True\nwelcome test",
|
||||
"ENABLED": "Привітальні повідомлення включені до {{channel}}!\nВикористовуйте `welcome test` для перегляду повідомлення",
|
||||
"DISABLED": "Привітання відключено",
|
||||
"DEFAULT_MESSAGE": "Ласкаво просимо {user}! Нас тепер {membercount}",
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"ACCEPT": "Прийняти",
|
||||
"ACTIVITY": "Активність",
|
||||
"APPLY": "Застосувати",
|
||||
"ATTACHMENT": "Вложение",
|
||||
"AUTHOR": "Автор",
|
||||
"AVAILABLE_OPTIONS": "Доступні параметри:",
|
||||
"CATEGORY": "Категорія",
|
||||
|
|
8
languages/uk-UA/suncountry/sendmessage.json
Normal file
8
languages/uk-UA/suncountry/sendmessage.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"DESCRIPTION": "Надіслати анонімне повідомлення до обраного каналу",
|
||||
"USAGE": "rpinfo [текст] (вкладення)\ninstalife [текст] (вкладення)",
|
||||
"EXAMPLES": "sendmessage rpinfo text:Всім з новим роком!\nsendmessage instalife text:Аварія в ВП! вкладення:<зображення>",
|
||||
"RPINFO": "Надіслати повідомлення в RP Info",
|
||||
"INSTALIFE": "Надіслати повідомлення в InstaLife",
|
||||
"MESSAGE_SENT": "Повідомлення відправлено!\n{{message}}"
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "jaba",
|
||||
"version": "4.2.5",
|
||||
"version": "4.2.6",
|
||||
"description": "My Discord Bot",
|
||||
"main": "index.js",
|
||||
"private": true,
|
||||
|
|
Loading…
Reference in a new issue