adminIfNotAlone.ts
1 import { Precondition } from 'amethystjs'; 2 import { GuildMember, VoiceChannel } from 'discord.js'; 3 import { isLofIManager, isUserAlone } from '../utils/functions'; 4 5 export default new Precondition('adminIfNotAlone').setChatInputRun(({ interaction }) => { 6 const channel = (interaction.member as GuildMember).voice.channel as VoiceChannel; 7 8 if (!isUserAlone(channel) && !(interaction.member as GuildMember).permissions.has('Administrator') && !isLofIManager(interaction.member as GuildMember)) { 9 return { 10 ok: false, 11 metadata: { 12 message: interaction.client.langs.getText(interaction, 'preconditions', 'adminIfNotAlone') 13 }, 14 type: 'chatInput', 15 interaction 16 }; 17 } 18 return { 19 ok: true, 20 type: 'chatInput', 21 interaction 22 }; 23 });