Changed required permissions for settings

This commit is contained in:
2022-07-04 21:28:04 +07:00
parent ecfce7e3c4
commit 949240a23a
4 changed files with 27 additions and 17 deletions
+4 -2
View File
@@ -48,9 +48,11 @@ export default async (data: HybridInteractionMessage, args: any, guild: Guild, l
if (!GuildCache) return; if (!GuildCache) return;
const language = GuildCache.locale; const language = GuildCache.locale;
if (!member.permissions.has([PermissionsBitField.Flags.Administrator])) const requiredPermissions = [PermissionsBitField.Flags.ManageGuild];
if (!member.permissions.has(requiredPermissions))
return await sendHybridInteractionMessageResponse(data, { return await sendHybridInteractionMessageResponse(data, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)] embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
}); });
let newLanguage: string | null | undefined; let newLanguage: string | null | undefined;
+4 -2
View File
@@ -54,9 +54,11 @@ export default async (data: HybridInteractionMessage, args: any, guild: Guild, l
if (!GuildCache) return; if (!GuildCache) return;
const prefix = GuildCache.prefix; const prefix = GuildCache.prefix;
if (!member.permissions.has([PermissionsBitField.Flags.Administrator])) const requiredPermissions = [PermissionsBitField.Flags.ManageGuild];
if (!member.permissions.has(requiredPermissions))
return await sendHybridInteractionMessageResponse(data, { return await sendHybridInteractionMessageResponse(data, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)] embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
}); });
let newPrefix: string | null | undefined; let newPrefix: string | null | undefined;
+9 -5
View File
@@ -1,4 +1,4 @@
import { Permissions, Guild, GuildChannel, ThreadChannel, Message, PermissionsBitField } from 'discord.js'; import { Permissions, Guild, GuildChannel, ThreadChannel, Message, PermissionsBitField, PermissionFlags, PermissionFlagsBits, PermissionResolvable } from 'discord.js';
import { I18n } from 'i18n'; import { I18n } from 'i18n';
import DiscordProvider from '../../providers/Discord'; import DiscordProvider from '../../providers/Discord';
@@ -104,9 +104,11 @@ export const setEnableServiceAnnouncement = async (
let member = data.getMember(); let member = data.getMember();
if (!member) return; if (!member) return;
if (!member.permissions.has([PermissionsBitField.Flags.Administrator])) const requiredPermissions = [PermissionsBitField.Flags.Administrator];
if (!member.permissions.has(requiredPermissions))
return await sendHybridInteractionMessageResponse(data, { return await sendHybridInteractionMessageResponse(data, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)] embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
}); });
let GuildCache = await Cache.getCachedGuild(guild.id); let GuildCache = await Cache.getCachedGuild(guild.id);
@@ -184,9 +186,11 @@ export const setServiceAnnouncementChannel = async (
let member = data.getMember(); let member = data.getMember();
if (!member) return; if (!member) return;
if (!member.permissions.has([PermissionsBitField.Flags.Administrator])) const requiredPermissions: PermissionResolvable[] = [PermissionsBitField.Flags.Administrator];
if (!member.permissions.has(requiredPermissions))
return await sendHybridInteractionMessageResponse(data, { return await sendHybridInteractionMessageResponse(data, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)] embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
}); });
let channel; let channel;
+10 -8
View File
@@ -1,16 +1,13 @@
import { import {
Message, Message,
CommandInteraction, CommandInteraction,
Permissions, Guild,
ThreadChannel, PermissionsBitField,
GuildChannel, PermissionResolvable
Guild
} from 'discord.js'; } from 'discord.js';
import { I18n } from 'i18n'; import { I18n } from 'i18n';
import DiscordProvider from '../../providers/Discord'; import DiscordProvider from '../../providers/Discord';
import Prisma from '../../providers/Prisma';
import Cache from '../../providers/Cache';
import Locale from '../../services/Locale'; import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule'; import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
@@ -27,10 +24,15 @@ import * as LanguageModule from './Language';
import * as ServiceAnnouncementModule from './ServiceAnnouncement'; import * as ServiceAnnouncementModule from './ServiceAnnouncement';
export const COMMON_EMBEDS = { export const COMMON_EMBEDS = {
NO_PERMISSION: (data: HybridInteractionMessage, locale: I18n) => { NO_PERMISSION: (data: HybridInteractionMessage, locale: I18n, permissions: PermissionResolvable[]) => {
let allPermissions = [];
for(const value of permissions) {
allPermissions.push(new PermissionsBitField(value).toArray());
}
return makeErrorEmbed({ return makeErrorEmbed({
title: locale.__('common.no_permissions'), title: locale.__('common.no_permissions'),
description: locale.__('common.no_permissions_description', { PERMISSIONS: 'ADMINISTRATOR'}), description: locale.__('common.no_permissions_description', { PERMISSIONS: allPermissions.join(', ')}),
user: data.getUser() user: data.getUser()
}); });
}, },