Важные объявления и подсказка в goodbye/welcome

This commit is contained in:
JonnyBro 2023-02-12 15:52:56 +05:00
parent d3ba2ba5cc
commit 82b7423fa0
7 changed files with 21 additions and 6 deletions

View file

@ -24,7 +24,7 @@ class Goodbye extends BaseCommand {
.addChannelOption(option => option.setName("channel") .addChannelOption(option => option.setName("channel")
.setDescription(client.translate("common:CHANNEL"))) .setDescription(client.translate("common:CHANNEL")))
.addStringOption(option => option.setName("message") .addStringOption(option => option.setName("message")
.setDescription(client.translate("common:MESSAGE"))) .setDescription(client.translate("administration/goodbye:MESSAGE")))
.addBooleanOption(option => option.setName("image") .addBooleanOption(option => option.setName("image")
.setDescription(client.translate("administration/goodbye:IMAGE"))), .setDescription(client.translate("administration/goodbye:IMAGE"))),
), ),

View file

@ -24,7 +24,7 @@ class Welcome extends BaseCommand {
.addChannelOption(option => option.setName("channel") .addChannelOption(option => option.setName("channel")
.setDescription(client.translate("common:CHANNEL"))) .setDescription(client.translate("common:CHANNEL")))
.addStringOption(option => option.setName("message") .addStringOption(option => option.setName("message")
.setDescription(client.translate("common:MESSAGE"))) .setDescription(client.translate("administration/goodbye:MESSAGE")))
.addBooleanOption(option => option.setName("image") .addBooleanOption(option => option.setName("image")
.setDescription(client.translate("administration/goodbye:IMAGE"))), .setDescription(client.translate("administration/goodbye:IMAGE"))),
), ),

View file

@ -17,7 +17,9 @@ class Announcement extends BaseCommand {
.setRequired(true)) .setRequired(true))
.addBooleanOption(option => option.setName("tag") .addBooleanOption(option => option.setName("tag")
.setDescription(client.translate("owner/announcement:TAG")) .setDescription(client.translate("owner/announcement:TAG"))
.setRequired(true)), .setRequired(true))
.addBooleanOption(option => option.setName("important")
.setDescription(client.translate("owner/announcement:IMPORTANT"))),
aliases: [], aliases: [],
dirname: __dirname, dirname: __dirname,
ownerOnly: true, ownerOnly: true,
@ -38,7 +40,8 @@ class Announcement extends BaseCommand {
*/ */
async execute(client, interaction) { async execute(client, interaction) {
await interaction.deferReply({ ephemeral: true }); await interaction.deferReply({ ephemeral: true });
const text = interaction.options.getString("message"); const text = interaction.options.getString("message"),
important = interaction.options.getBoolean("important");
if (text.length > 1000) return interaction.error("owner/announcement:TOO_LONG"); if (text.length > 1000) return interaction.error("owner/announcement:TOO_LONG");
const embed = new EmbedBuilder() const embed = new EmbedBuilder()
@ -52,11 +55,19 @@ class Announcement extends BaseCommand {
}) })
.setTimestamp(); .setTimestamp();
client.guilds.cache.forEach(async guild => { (await client.guilds.fetch()).forEach(async guild => {
if (guild.id === "568120814776614924") return; if (guild.id === "568120814776614924") return;
guild = await guild.fetch();
const channel = guild.channels.cache.get(guild?.data.plugins.news); const channel = guild.channels.cache.get(guild?.data.plugins.news);
await channel.send({ if (!channel && !important) return;
if (!channel && important) {
guild.channels.cache.find(c => c.isTextBased()).send({
content: `${interaction.options.getBoolean("tag") ? "||@everyone|| " : ""}ВАЖНОЕ ОБЪЯВЛЕНИЕ!`,
embeds: [embed],
});
} else if (channel) channel.send({
content: `${interaction.options.getBoolean("tag") ? "||@everyone|| " : ""}ВАЖНОЕ ОБЪЯВЛЕНИЕ!`, content: `${interaction.options.getBoolean("tag") ? "||@everyone|| " : ""}ВАЖНОЕ ОБЪЯВЛЕНИЕ!`,
embeds: [embed], embeds: [embed],
}); });

View file

@ -6,6 +6,7 @@
"TEST_SUCCESS": "Тест выполнен...", "TEST_SUCCESS": "Тест выполнен...",
"CONFIG": "Настроить", "CONFIG": "Настроить",
"IMAGE": "Добавить карточку к сообщению?", "IMAGE": "Добавить карточку к сообщению?",
"MESSAGE": "Ваше сообщение (доступны подмены с помощью {user}, {server} и {membercount})",
"ENABLED": "Прощальные сообщения включены в {{channel}}!\nИспользуйте `goodbye test` для просмотра сообщения!", "ENABLED": "Прощальные сообщения включены в {{channel}}!\nИспользуйте `goodbye test` для просмотра сообщения!",
"DISABLED": "Прощальные сообщения отключены!", "DISABLED": "Прощальные сообщения отключены!",
"DEFAULT_MESSAGE": "Пока, {user}! Нас теперь {membercount} без тебя :'(", "DEFAULT_MESSAGE": "Пока, {user}! Нас теперь {membercount} без тебя :'(",

View file

@ -3,6 +3,7 @@
"USAGE": "[message] [tag]", "USAGE": "[message] [tag]",
"EXAMPLES": "announcement message:Обновление v1.0! tag:True", "EXAMPLES": "announcement message:Обновление v1.0! tag:True",
"TAG": "Подставить @everyone в сообщение?", "TAG": "Подставить @everyone в сообщение?",
"IMPORTANT": "Важное? (Отправит в первый доступный канал на сервере, даже если не настроен News)",
"TOO_LONG": "Текст должен быть короче 1000 символов!", "TOO_LONG": "Текст должен быть короче 1000 символов!",
"TITLE": "📢 Объявление:", "TITLE": "📢 Объявление:",
"SENDED": "Обновление отправлено на все сервера!" "SENDED": "Обновление отправлено на все сервера!"

View file

@ -6,6 +6,7 @@
"TEST_SUCCESS": "Тест виконано...", "TEST_SUCCESS": "Тест виконано...",
"CONFIG": "Налаштувати", "CONFIG": "Налаштувати",
"IMAGE": "Додати картку до повідомлення?", "IMAGE": "Додати картку до повідомлення?",
"MESSAGE": "Ваше повідомлення (доступні заміни за допомогою {user}, {server} та {membercount})",
"ENABLED": "Прощальні повідомлення включені до {{channel}}!\nВикористовуйте `goodbye test` для перегляду повідомлення!", "ENABLED": "Прощальні повідомлення включені до {{channel}}!\nВикористовуйте `goodbye test` для перегляду повідомлення!",
"DISABLED": "Прощальні повідомлення вимкнені!", "DISABLED": "Прощальні повідомлення вимкнені!",
"DEFAULT_MESSAGE": "Бувай, {user}! Нас тепер {membercount} без тебе :'(", "DEFAULT_MESSAGE": "Бувай, {user}! Нас тепер {membercount} без тебе :'(",

View file

@ -3,6 +3,7 @@
"USAGE": "[message] [tag]", "USAGE": "[message] [tag]",
"EXAMPLES": "announcement message:Оновлення v1.0! tag:True", "EXAMPLES": "announcement message:Оновлення v1.0! tag:True",
"TAG": "Підставити @everyone у повідомлення?", "TAG": "Підставити @everyone у повідомлення?",
"IMPORTANT": "Важливе? (Надіслати в перший доступний канал на сервері, навіть якщо не налаштований News)",
"TOO_LONG": "Текст повинен бути коротшим за 1000 символів!", "TOO_LONG": "Текст повинен бути коротшим за 1000 символів!",
"TITLE": "📢 Оголошення:", "TITLE": "📢 Оголошення:",
"SENDED": "Оновлення надіслано на всі сервери!" "SENDED": "Оновлення надіслано на всі сервери!"