Возможность пригласить бота на свой сервер без участия разработчика

This commit is contained in:
JonnyBro 2022-02-05 21:58:30 +05:00
parent e54db9e8b9
commit 85337fbfca
13 changed files with 29 additions and 27 deletions

View file

@ -87,7 +87,7 @@ class Configuration extends Command {
embed.addField(message.translate("administration/configuration:AUTODELETEMOD"), guildData.autoDeleteModCommands ? message.translate("administration/configuration:AUTODELETEMOD_ENABLED") : message.translate("administration/configuration:AUTODELETEMOD_DISABLED")); embed.addField(message.translate("administration/configuration:AUTODELETEMOD"), guildData.autoDeleteModCommands ? message.translate("administration/configuration:AUTODELETEMOD_ENABLED") : message.translate("administration/configuration:AUTODELETEMOD_DISABLED"));
// Dashboard link // Dashboard link
embed.addField(message.translate("administration/configuration:DASHBOARD_TITLE"), `[${message.translate("administration/configuration:DASHBOARD_CONTENT")}](${this.client.config.dashboard.baseURL})`); embed.addField(message.translate("administration/configuration:DASHBOARD_TITLE"), `[${message.translate("administration/configuration:DASHBOARD_CONTENT")}](${data.config.dashboard.baseURL})`);
message.channel.send({ message.channel.send({
embeds: [embed] embeds: [embed]

View file

@ -17,7 +17,7 @@ class Leaderboard extends Command {
}); });
} }
async run(message, args) { async run(message, args, data) {
const isOnlyOnMobile = (message.member.presence.clientStatus ? JSON.stringify(Object.keys(message.member.presence.clientStatus)) === JSON.stringify(["mobile"]) : false); const isOnlyOnMobile = (message.member.presence.clientStatus ? JSON.stringify(Object.keys(message.member.presence.clientStatus)) === JSON.stringify(["mobile"]) : false);
const type = args[0]; const type = args[0];
@ -54,7 +54,7 @@ class Leaderboard extends Command {
dynamic: true dynamic: true
}) })
}) })
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.addFields({ .addFields({
name: message.translate("economy/leaderboard:TOP"), name: message.translate("economy/leaderboard:TOP"),
value: userNames, value: userNames,
@ -102,7 +102,7 @@ class Leaderboard extends Command {
dynamic: true dynamic: true
}) })
}) })
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.addFields({ .addFields({
name: message.translate("economy/leaderboard:TOP"), name: message.translate("economy/leaderboard:TOP"),
value: userNames, value: userNames,
@ -151,7 +151,7 @@ class Leaderboard extends Command {
dynamic: true dynamic: true
}) })
}) })
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.addFields({ .addFields({
name: message.translate("economy/leaderboard:TOP"), name: message.translate("economy/leaderboard:TOP"),
value: userNames, value: userNames,

View file

@ -51,9 +51,9 @@ class Help extends Command {
.addField(message.translate("general/help:FIELD_EXAMPLES"), examples) .addField(message.translate("general/help:FIELD_EXAMPLES"), examples)
.addField(message.translate("general/help:FIELD_ALIASES"), cmd.help.aliases.length > 0 ? cmd.help.aliases.map(a => "`" + a + "`").join("\n") : message.translate("general/help:NO_ALIAS")) .addField(message.translate("general/help:FIELD_ALIASES"), cmd.help.aliases.length > 0 ? cmd.help.aliases.map(a => "`" + a + "`").join("\n") : message.translate("general/help:NO_ALIAS"))
.addField(message.translate("general/help:FIELD_PERMISSIONS"), cmd.conf.memberPermissions.length > 0 ? cmd.conf.memberPermissions.map((p) => `\`${p}\``).join("\n") : message.translate("general/help:NO_REQUIRED_PERMISSION")) .addField(message.translate("general/help:FIELD_PERMISSIONS"), cmd.conf.memberPermissions.length > 0 ? cmd.conf.memberPermissions.map((p) => `\`${p}\``).join("\n") : message.translate("general/help:NO_REQUIRED_PERMISSION"))
.setColor(this.client.config.embed.color) .setColor(data.config.embed.color)
.setFooter({ .setFooter({
text: this.client.config.embed.footer text: data.config.embed.footer
}); });
return message.channel.send({ return message.channel.send({
@ -66,7 +66,7 @@ class Help extends Command {
commands.forEach((command) => { commands.forEach((command) => {
if (!categories.includes(command.help.category)) { if (!categories.includes(command.help.category)) {
if (command.help.category === "Owner" && message.author.id !== this.client.config.owner.id) return; if (command.help.category === "Owner" && message.author.id !== data.config.owner.id) return;
categories.push(command.help.category); categories.push(command.help.category);
} }
}); });
@ -94,7 +94,7 @@ class Help extends Command {
dashboardLink: "https://dashboard.jaba.pp.ua/", dashboardLink: "https://dashboard.jaba.pp.ua/",
docsLink: "https://jaba.pp.ua/docs/", docsLink: "https://jaba.pp.ua/docs/",
donateLink: "https://qiwi.com/n/JONNYBRO/", donateLink: "https://qiwi.com/n/JONNYBRO/",
owner: this.client.config.owner.id owner: data.config.owner.id
})); }));
embed.setAuthor({ embed.setAuthor({
name: message.translate("general/help:TITLE", { name: message.translate("general/help:TITLE", {

View file

@ -6,7 +6,7 @@ class Invite extends Command {
super(client, { super(client, {
name: "invite", name: "invite",
dirname: __dirname, dirname: __dirname,
enabled: false, enabled: true,
guildOnly: false, guildOnly: false,
aliases: ["i", "add", "vote"], aliases: ["i", "add", "vote"],
memberPermissions: [], memberPermissions: [],
@ -22,10 +22,10 @@ class Invite extends Command {
scopes: ["bot"], scopes: ["bot"],
permissions: [Discord.Permissions.FLAGS.ADMINISTRATOR] permissions: [Discord.Permissions.FLAGS.ADMINISTRATOR]
}); });
const voteURL = `https://discordbots.org/bot/${this.client.user.id}/vote`; const donateLink = "https://qiwi.com/n/JONNYBRO/";
const supportURL = await this.client.functions.supportLink(this.client); // const voteURL = `https://discordbots.org/bot/${this.client.user.id}/vote`;
if (args[0] && args[0] === "copy") return message.channel.send({ if (args[0] && args[0] === "copy") return message.reply({
content: inviteLink content: inviteLink
}); });
@ -37,8 +37,8 @@ class Invite extends Command {
prefix: data.guild.prefix || "" prefix: data.guild.prefix || ""
})) }))
.addField(message.translate("general/invite:ADD"), inviteLink) .addField(message.translate("general/invite:ADD"), inviteLink)
.addField(message.translate("general/invite:VOTE"), voteURL) .addField(message.translate("general/invite:SUPPORT"), donateLink + `\nдля других способов пишите в ЛС <@${data.config.owner.id}>`)
.addField(message.translate("general/invite:SUPPORT"), supportURL) // .addField(message.translate("general/invite:VOTE"), voteURL)
.setColor(data.config.embed.color) .setColor(data.config.embed.color)
.setFooter({ .setFooter({
text: data.config.embed.footer text: data.config.embed.footer

View file

@ -50,8 +50,9 @@ class Stats extends Command {
.addField(this.client.customEmojis.link + " " + message.translate("general/stats:LINKS_TITLE"), message.translate("misc:STATS_FOOTER", { .addField(this.client.customEmojis.link + " " + message.translate("general/stats:LINKS_TITLE"), message.translate("misc:STATS_FOOTER", {
dashboardLink: "https://dashboard.jaba.pp.ua/", dashboardLink: "https://dashboard.jaba.pp.ua/",
docsLink: "https://jaba.pp.ua/docs/", docsLink: "https://jaba.pp.ua/docs/",
inviteLink: this.client.generateInvite({ scopes: ["bot"], permissions: [Discord.Permissions.FLAGS.ADMINISTRATOR] }),
donateLink: "https://qiwi.com/n/JONNYBRO/", donateLink: "https://qiwi.com/n/JONNYBRO/",
owner: this.client.config.owner.id owner: data.config.owner.id
})); }));
message.channel.send({ message.channel.send({
embeds: [statsEmbed] embeds: [statsEmbed]

View file

@ -86,10 +86,10 @@ class Userinfo extends Command {
}) : (member.roles.cache.size < 1) ? message.translate("general/userinfo:NO_ROLE") : member.roles.cache.map((r) => r).join(", "))); }) : (member.roles.cache.size < 1) ? message.translate("general/userinfo:NO_ROLE") : member.roles.cache.map((r) => r).join(", ")));
} }
if (user.bot && this.client.config.apiKeys.dbl && (this.client.config.apiKeys.dbl !== "")) { if (user.bot && data.config.apiKeys.dbl && (data.config.apiKeys.dbl !== "")) {
const res = await fetch("https://discordbots.org/api/bots/" + user.id, { const res = await fetch("https://discordbots.org/api/bots/" + user.id, {
headers: { headers: {
"Authorization": this.client.config.apiKeys.dbl "Authorization": data.config.apiKeys.dbl
} }
}); });
const data = await res.json(); const data = await res.json();

View file

@ -1,6 +1,7 @@
### JaBa v3.3.6 ### JaBa v3.3.6
* Изменения * Изменения
* Панель управления теперь доступна по ссылке *https://dashboard.jaba.pp.ua* * Панель управления теперь доступна по ссылке *https://dashboard.jaba.pp.ua*.
* Вы теперь можете пригласить JaBa на свой сервер по ссылке из команды *invite*, *stats* или [тут](https://discord.com/api/oauth2/authorize?client_id=708637495054565426&scope=bot&permissions=8)
### JaBa v3.3.5 ### JaBa v3.3.5
* Исправления * Исправления

View file

@ -9,7 +9,7 @@
"INVALID_TIME": "You must enter a valid time! Available units: `s`, `m`, `h` or `d`", "INVALID_TIME": "You must enter a valid time! Available units: `s`, `m`, `h` or `d`",
"INVALID_NUMBER": "Please specify a valid number!", "INVALID_NUMBER": "Please specify a valid number!",
"INVALID_NUMBER_RANGE": "Please specify a valid number between **{{min}}** and **{{max}}**!", "INVALID_NUMBER_RANGE": "Please specify a valid number between **{{min}}** and **{{max}}**!",
"STATS_FOOTER": "● [Dashboard]({{dashboardLink}})\n● [Docs]({{docsLink}})\n● [Support]({{donateLink}}) (for other payment methods send DM to <@{{owner}}>)", "STATS_FOOTER": "● [Dashboard]({{dashboardLink}})\n● [Docs]({{docsLink}})\n● [Invite JaBa]({{inviteLink}})\n● [Support]({{donateLink}}) (for other payment methods send DM to <@{{owner}}>)",
"BOT_USER": "This user is a bot!", "BOT_USER": "This user is a bot!",
"NO_PERMS": "You must have an administration rights to perform this action!", "NO_PERMS": "You must have an administration rights to perform this action!",
"NO_REASON_PROVIDED": "No reason provided", "NO_REASON_PROVIDED": "No reason provided",

View file

@ -3,8 +3,8 @@
"USAGE": "{{prefix}}invite (copy)", "USAGE": "{{prefix}}invite (copy)",
"EXAMPLES": "{{prefix}}invite\n{{prefix}}invite copy", "EXAMPLES": "{{prefix}}invite\n{{prefix}}invite copy",
"LINKS": "Ссылки JaBa", "LINKS": "Ссылки JaBa",
"TIP": "Отправьте `{{prefix}}invite copy`, чтобы получить ссылку которую можно скопировать!", "TIP": "Отправьте `{{prefix}}invite copy`, чтобы получить ссылку для копирования!",
"ADD": "Пригласить JaBa", "ADD": "Пригласить JaBa",
"VOTE": "Проголосовать за JaBa", "VOTE": "Проголосовать за JaBa",
"SUPPORT": "Получить помощь" "SUPPORT": "Поддержать разработчика"
} }

View file

@ -10,7 +10,7 @@
"INVALID_NUMBER": "Укажите число!", "INVALID_NUMBER": "Укажите число!",
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!", "INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!",
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!", "FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!",
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Поддержать]({{donateLink}}) (для других способов пишите в ЛС <@{{owner}}>)", "STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (для других способов пишите в ЛС <@{{owner}}>)",
"BOT_USER": "Это бот!", "BOT_USER": "Это бот!",
"NO_PERMS": "Недостаточно прав для выполнения данного действия!", "NO_PERMS": "Недостаточно прав для выполнения данного действия!",
"NO_REASON_PROVIDED": "Причина не указана", "NO_REASON_PROVIDED": "Причина не указана",

View file

@ -14,5 +14,5 @@
"SUCCESS": "🎉 Поздравляем! **{{creator}}** и **{{partner}}** теперь состоят в браке!", "SUCCESS": "🎉 Поздравляем! **{{creator}}** и **{{partner}}** теперь состоят в браке!",
"DENIED": "{{creator}}, у меня есть плохие новости... {{partner}} отказался(лась) от вашего предложение.", "DENIED": "{{creator}}, у меня есть плохие новости... {{partner}} отказался(лась) от вашего предложение.",
"REQUEST": "{{to}}, вы согласны вступить в брак с {{from}}? Ответьте `да` или `нет`!", "REQUEST": "{{to}}, вы согласны вступить в брак с {{from}}? Ответьте `да` или `нет`!",
"BOT_USER": "Боты вечно одиноки" "BOT_USER": "Боты вечно одиноки!"
} }

View file

@ -3,8 +3,8 @@
"USAGE": "{{prefix}}invite (copy)", "USAGE": "{{prefix}}invite (copy)",
"EXAMPLES": "{{prefix}}invite\n{{prefix}}invite copy", "EXAMPLES": "{{prefix}}invite\n{{prefix}}invite copy",
"LINKS": "Ссылки JaBa", "LINKS": "Ссылки JaBa",
"TIP": "Отправьте `{{prefix}}invite copy`, чтобы получить ссылку которую можно скопировать!", "TIP": "Отправьте `{{prefix}}invite copy`, чтобы получить ссылку для копирования!",
"ADD": "Пригласить JaBa", "ADD": "Пригласить JaBa",
"VOTE": "Проголосовать за JaBa", "VOTE": "Проголосовать за JaBa",
"SUPPORT": "Получить помощь" "SUPPORT": "Поддержать разработчика"
} }

View file

@ -10,7 +10,7 @@
"INVALID_NUMBER": "Укажите число!", "INVALID_NUMBER": "Укажите число!",
"INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!", "INVALID_NUMBER_RANGE": "Укажите число от **{{min}}** до **{{max}}**!",
"FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!", "FORCE_STOP": "Игра принудительно окончена {{user}}, никто не победил!",
"STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Поддержать]({{donateLink}}) (для других способов пишите в ЛС <@{{owner}}>)", "STATS_FOOTER": "● [Панель управления]({{dashboardLink}})\n● [Документация]({{docsLink}})\n● [Пригласить JaBa на свой сервер]({{inviteLink}})\n● [Поддержать]({{donateLink}}) (для других способов пишите в ЛС <@{{owner}}>)",
"BOT_USER": "Это бот!", "BOT_USER": "Это бот!",
"NO_PERMS": "Недостаточно прав для выполнения данного действия!", "NO_PERMS": "Недостаточно прав для выполнения данного действия!",
"NO_REASON_PROVIDED": "Причина не указана", "NO_REASON_PROVIDED": "Причина не указана",