/ src / preconditions / adminIfNotAlone.ts
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  });