Важные объявления и подсказка в 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")
.setDescription(client.translate("common:CHANNEL")))
.addStringOption(option => option.setName("message")
.setDescription(client.translate("common:MESSAGE")))
.setDescription(client.translate("administration/goodbye:MESSAGE")))
.addBooleanOption(option => option.setName("image")
.setDescription(client.translate("administration/goodbye:IMAGE"))),
),

View file

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

View file

@ -17,7 +17,9 @@ class Announcement extends BaseCommand {
.setRequired(true))
.addBooleanOption(option => option.setName("tag")
.setDescription(client.translate("owner/announcement:TAG"))
.setRequired(true)),
.setRequired(true))
.addBooleanOption(option => option.setName("important")
.setDescription(client.translate("owner/announcement:IMPORTANT"))),
aliases: [],
dirname: __dirname,
ownerOnly: true,
@ -38,7 +40,8 @@ class Announcement extends BaseCommand {
*/
async execute(client, interaction) {
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");
const embed = new EmbedBuilder()
@ -52,11 +55,19 @@ class Announcement extends BaseCommand {
})
.setTimestamp();
client.guilds.cache.forEach(async guild => {
(await client.guilds.fetch()).forEach(async guild => {
if (guild.id === "568120814776614924") return;
guild = await guild.fetch();
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|| " : ""}ВАЖНОЕ ОБЪЯВЛЕНИЕ!`,
embeds: [embed],
});

View file

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

View file

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

View file

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

View file

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