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;
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, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)]
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
});
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;
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, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)]
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
});
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 DiscordProvider from '../../providers/Discord';
@@ -104,9 +104,11 @@ export const setEnableServiceAnnouncement = async (
let member = data.getMember();
if (!member) return;
if (!member.permissions.has([PermissionsBitField.Flags.Administrator]))
const requiredPermissions = [PermissionsBitField.Flags.Administrator];
if (!member.permissions.has(requiredPermissions))
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);
@@ -184,9 +186,11 @@ export const setServiceAnnouncementChannel = async (
let member = data.getMember();
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, {
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale)]
embeds: [COMMON_EMBEDS.NO_PERMISSION(data, locale, requiredPermissions)]
});
let channel;
+10 -8
View File
@@ -1,16 +1,13 @@
import {
Message,
CommandInteraction,
Permissions,
ThreadChannel,
GuildChannel,
Guild
Guild,
PermissionsBitField,
PermissionResolvable
} from 'discord.js';
import { I18n } from 'i18n';
import DiscordProvider from '../../providers/Discord';
import Prisma from '../../providers/Prisma';
import Cache from '../../providers/Cache';
import Locale from '../../services/Locale';
import DiscordModule, { HybridInteractionMessage } from '../../utils/DiscordModule';
@@ -27,10 +24,15 @@ import * as LanguageModule from './Language';
import * as ServiceAnnouncementModule from './ServiceAnnouncement';
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({
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()
});
},