discord-bot-shared 0.2.3 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,8 @@
1
- import { SlashCommandBuilder } from '@discordjs/builders';
2
- import { Collection, CommandInteraction } from 'discord.js';
1
+ import { ChatInputCommandInteraction, Collection, SlashCommandBuilder } from 'discord.js';
3
2
  interface Command {
4
3
  requiredRoles?: string[];
5
4
  command: SlashCommandBuilder;
6
- run: (interaction: CommandInteraction) => void | Promise<void>;
5
+ run: (interaction: ChatInputCommandInteraction) => void | Promise<void>;
7
6
  }
8
7
  declare type CommandsCollection = Collection<string, Command>;
9
8
  declare function registerCommands(botToken: string, clientId: string, projectMetaURL: string, guildId?: string): Promise<CommandsCollection>;
package/dist/commands.js CHANGED
@@ -7,7 +7,7 @@ async function registerCommands(botToken, clientId, projectMetaURL, guildId) {
7
7
  const commands = new Collection();
8
8
  const commandData = [];
9
9
  const commandsDirectory = fileURLToPath(new URL('commands', projectMetaURL));
10
- const commandFiles = await readdir(commandsDirectory).catch(console.error);
10
+ const commandFiles = await readdir(commandsDirectory);
11
11
  if (!commandFiles)
12
12
  return commands;
13
13
  for (const file of commandFiles) {
@@ -16,10 +16,9 @@ async function registerCommands(botToken, clientId, projectMetaURL, guildId) {
16
16
  commandData.push(command.command.toJSON());
17
17
  }
18
18
  const rest = new REST().setToken(botToken);
19
- if (guildId)
20
- await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commandData }).catch(console.error);
21
- else
22
- rest.put(Routes.applicationCommands(clientId), { body: commandData }).catch(console.error);
19
+ guildId
20
+ ? await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commandData })
21
+ : await rest.put(Routes.applicationCommands(clientId), { body: commandData });
23
22
  console.log('Registered application (/) commands.');
24
23
  return commands;
25
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAA0C,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAcxC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,QAAgB,EAAE,cAAsB,EAAE,OAAgB;IAC1G,MAAM,QAAQ,GAAuB,IAAI,UAAU,EAAE,CAAA;IACrD,MAAM,WAAW,GAA6C,EAAE,CAAA;IAEhE,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IAC5E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC1E,IAAI,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAA;IAElC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;QAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,iBAAiB,IAAI,IAAI,EAAE,CAAC,CAAkB,CAAA;QAC5F,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KAC3C;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1C,IAAI,OAAO;QACT,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/F,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IAEnD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAA0C,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAA+B,UAAU,EAAuB,MAAM,YAAY,CAAA;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAcxC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,QAAgB,EAAE,cAAsB,EAAE,OAAgB;IAC1G,MAAM,QAAQ,GAAuB,IAAI,UAAU,EAAE,CAAA;IACrD,MAAM,WAAW,GAA6C,EAAE,CAAA;IAEhE,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IAC5E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACrD,IAAI,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAA;IAElC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;QAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,iBAAiB,IAAI,IAAI,EAAE,CAAC,CAAkB,CAAA;QAC5F,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KAC3C;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1C,OAAO;QACL,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3F,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IAEnD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,eAAe,gBAAgB,CAAA"}
@@ -5,24 +5,22 @@ function setBot(botClient) {
5
5
  async function getGuildCache(baseGuild) {
6
6
  if (!bot)
7
7
  return;
8
- const guilds = await bot.guilds.fetch().catch(console.error);
8
+ const guilds = await bot.guilds.fetch();
9
9
  if (!guilds)
10
10
  return;
11
- const guild = baseGuild
12
- ? await baseGuild.fetch().catch(console.error)
13
- : await guilds.first()?.fetch().catch(console.error);
11
+ const guild = baseGuild ? await baseGuild.fetch() : await guilds.first()?.fetch();
14
12
  if (!guild)
15
13
  return;
16
- const channels = await guild.channels.fetch().catch(console.error);
14
+ const channels = await guild.channels.fetch();
17
15
  if (!channels)
18
16
  return;
19
- const emojis = await guild.emojis.fetch().catch(console.error);
17
+ const emojis = await guild.emojis.fetch();
20
18
  if (!emojis)
21
19
  return;
22
- const members = await guild.members.fetch().catch(console.error);
20
+ const members = await guild.members.fetch();
23
21
  if (!members)
24
22
  return;
25
- const roles = await guild.roles.fetch().catch(console.error);
23
+ const roles = await guild.roles.fetch();
26
24
  if (!roles)
27
25
  return;
28
26
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"guildCache.js","sourceRoot":"","sources":["../src/guildCache.ts"],"names":[],"mappings":"AAEA,IAAI,GAAW,CAAA;AAEf,SAAS,MAAM,CAAC,SAAiB;IAC/B,GAAG,GAAG,SAAS,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAM;IAEhB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9C,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACtD,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClE,IAAI,CAAC,QAAQ;QAAE,OAAM;IAErB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChE,IAAI,CAAC,OAAO;QAAE,OAAM;IAEpB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,OAAO;QACL,KAAK;QACL,QAAQ;QACR,MAAM;QACN,OAAO;QACP,KAAK;KACN,CAAA;AACH,CAAC;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"guildCache.js","sourceRoot":"","sources":["../src/guildCache.ts"],"names":[],"mappings":"AAEA,IAAI,GAAW,CAAA;AAEf,SAAS,MAAM,CAAC,SAAiB;IAC/B,GAAG,GAAG,SAAS,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAM;IAEhB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACvC,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAA;IACjF,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAM;IAErB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACzC,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAM;IAEpB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACvC,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,OAAO;QACL,KAAK;QACL,QAAQ;QACR,MAAM;QACN,OAAO;QACP,KAAK;KACN,CAAA;AACH,CAAC;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export default login;
5
5
  export { Command } from './commands.js';
6
6
  export { default as getGuildCache } from './guildCache.js';
7
7
  export { InteractionCheck } from './interactionCreate.js';
8
+ export { isCategoryChannel, isTextChannel, throwError } from './util.js';
package/dist/index.js CHANGED
@@ -19,4 +19,5 @@ async function login(botIntents, projectMetaURL, interactionCheck) {
19
19
  }
20
20
  export default login;
21
21
  export { default as getGuildCache } from './guildCache.js';
22
+ export { isCategoryChannel, isTextChannel, throwError } from './util.js';
22
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAA;AAClD,OAAO,gBAAgB,MAAM,eAAe,CAAA;AAC5C,OAAO,cAAc,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,yBAA+C,MAAM,wBAAwB,CAAA;AACpF,OAAO,aAAa,MAAM,YAAY,CAAA;AAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;AAE1C,KAAK,UAAU,KAAK,CAClB,UAAyB,EACzB,cAAsB,EACtB,gBAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IAEpF,aAAa,CAAC,GAAG,CAAC,CAAA;IAClB,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAC1D,KAAK,cAAc,CAAC,cAAc,CAAC,CAAA;IAEnC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEX,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,eAAe,KAAK,CAAA;AAEpB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAA;AAClD,OAAO,gBAAgB,MAAM,eAAe,CAAA;AAC5C,OAAO,cAAc,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,yBAA+C,MAAM,wBAAwB,CAAA;AACpF,OAAO,aAAa,MAAM,YAAY,CAAA;AAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAA;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;AAE1C,KAAK,UAAU,KAAK,CAClB,UAAyB,EACzB,cAAsB,EACtB,gBAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;IAEpF,aAAa,CAAC,GAAG,CAAC,CAAA;IAClB,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAC1D,KAAK,cAAc,CAAC,cAAc,CAAC,CAAA;IAEnC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEX,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,eAAe,KAAK,CAAA;AAEpB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA"}
@@ -1,6 +1,6 @@
1
- import { Client, CommandInteraction } from 'discord.js';
1
+ import { ChatInputCommandInteraction, Client } from 'discord.js';
2
2
  import { CommandsCollection } from './commands.js';
3
- declare type InteractionCheck = (interaction: CommandInteraction) => Promise<boolean | void>;
3
+ declare type InteractionCheck = (interaction: ChatInputCommandInteraction) => Promise<boolean | void>;
4
4
  declare function registerInteractionCreate(bot: Client, commands: CommandsCollection, interactionCheck?: InteractionCheck): void;
5
5
  export default registerInteractionCreate;
6
6
  export { InteractionCheck };
@@ -1,32 +1,39 @@
1
1
  function registerInteractionCreate(bot, commands, interactionCheck) {
2
2
  bot.on('interactionCreate', async (interaction) => {
3
- if (!interaction.isCommand())
3
+ if (!interaction.isChatInputCommand())
4
4
  return;
5
5
  const command = commands.get(interaction.commandName);
6
6
  if (!command)
7
- return await interaction.reply({ content: 'Unable to get command.', ephemeral: true }).catch(console.error);
8
- if (command.requiredRoles && command.requiredRoles.length > 0) {
9
- const member = await interaction.guild?.members.fetch(interaction.user).catch(console.error);
10
- if (!member)
11
- return;
12
- if (!member.roles.cache.some((role) => (command.requiredRoles ? command.requiredRoles.includes(role.name) : false)))
13
- return await interaction
14
- .reply({ content: 'You do not have one of the required roles to run this command.', ephemeral: true })
15
- .catch(console.error);
16
- }
17
- const interactionCheckPassed = interactionCheck ? await interactionCheck(interaction) : true;
18
- if (!interactionCheckPassed)
19
- return;
7
+ return interactionReply(interaction, 'Unable to get command.');
8
+ if (!(await checkRoles(command, interaction)))
9
+ return interactionReply(interaction, 'You do not have one of the required roles to run this command.');
20
10
  try {
11
+ const interactionCheckPassed = interactionCheck ? await interactionCheck(interaction) : true;
12
+ if (!interactionCheckPassed)
13
+ return;
21
14
  await command.run(interaction);
22
15
  }
23
16
  catch (error) {
24
17
  const errorMessage = error instanceof Error ? error.message : '';
25
- await interaction
26
- .reply({ content: `There was an error while running this command.\n${errorMessage}`, ephemeral: true })
27
- .catch(console.error);
18
+ interactionReply(interaction, `There was an error while running this command.\n${errorMessage}`);
28
19
  }
29
20
  });
30
21
  }
22
+ async function checkRoles(command, interaction) {
23
+ if (!command.requiredRoles)
24
+ return true;
25
+ if (command.requiredRoles.length > 0) {
26
+ const member = await interaction.guild?.members.fetch(interaction.user).catch(console.error);
27
+ if (!member)
28
+ return;
29
+ return member.roles.cache.some((role) => command.requiredRoles ? command.requiredRoles.includes(role.name) : false);
30
+ }
31
+ return false;
32
+ }
33
+ function interactionReply(interaction, message) {
34
+ interaction.deferred
35
+ ? void interaction.editReply(message).catch(console.error)
36
+ : void interaction.reply({ content: message, ephemeral: true }).catch(console.error);
37
+ }
31
38
  export default registerInteractionCreate;
32
39
  //# sourceMappingURL=interactionCreate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactionCreate.js","sourceRoot":"","sources":["../src/interactionCreate.ts"],"names":[],"mappings":"AAKA,SAAS,yBAAyB,CAAC,GAAW,EAAE,QAA4B,EAAE,gBAAmC;IAC/G,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QAChD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAAE,OAAM;QAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACrD,IAAI,CAAC,OAAO;YACV,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE7G,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC5F,IAAI,CAAC,MAAM;gBAAE,OAAM;YACnB,IACE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAE/G,OAAO,MAAM,WAAW;qBACrB,KAAK,CAAC,EAAE,OAAO,EAAE,gEAAgE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qBACrG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;SAC1B;QAED,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5F,IAAI,CAAC,sBAAsB;YAAE,OAAM;QAEnC,IAAI;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;SAC/B;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;YAChE,MAAM,WAAW;iBACd,KAAK,CAAC,EAAE,OAAO,EAAE,mDAAmD,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;iBACtG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;SACxB;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"interactionCreate.js","sourceRoot":"","sources":["../src/interactionCreate.ts"],"names":[],"mappings":"AAKA,SAAS,yBAAyB,CAAC,GAAW,EAAE,QAA4B,EAAE,gBAAmC;IAC/G,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;QAChD,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;YAAE,OAAM;QAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,gBAAgB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAA;QAE5E,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,gBAAgB,CAAC,WAAW,EAAE,gEAAgE,CAAC,CAAA;QAExG,IAAI;YACF,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5F,IAAI,CAAC,sBAAsB;gBAAE,OAAM;YAEnC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;SAC/B;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;YAChE,gBAAgB,CAAC,WAAW,EAAE,mDAAmD,YAAY,EAAE,CAAC,CAAA;SACjG;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE,WAAwC;IAClF,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5F,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAC1E,CAAA;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAwC,EAAE,OAAe;IACjF,WAAW,CAAC,QAAQ;QAClB,CAAC,CAAC,KAAK,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACxF,CAAC;AAED,eAAe,yBAAyB,CAAA"}
package/dist/util.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { APIPartialChannel, BaseChannel, CategoryChannel, TextChannel } from 'discord.js';
2
+ declare function isTextChannel(channel: BaseChannel | APIPartialChannel): channel is TextChannel;
3
+ declare function isCategoryChannel(channel: BaseChannel): channel is CategoryChannel;
4
+ declare function throwError(error: string): never;
5
+ export { isTextChannel, isCategoryChannel, throwError };
package/dist/util.js ADDED
@@ -0,0 +1,12 @@
1
+ import { ChannelType } from 'discord.js';
2
+ function isTextChannel(channel) {
3
+ return channel.type === ChannelType.GuildText;
4
+ }
5
+ function isCategoryChannel(channel) {
6
+ return channel.type === ChannelType.GuildCategory;
7
+ }
8
+ function throwError(error) {
9
+ throw new Error(error);
10
+ }
11
+ export { isTextChannel, isCategoryChannel, throwError };
12
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,WAAW,EAAe,MAAM,YAAY,CAAA;AAEtG,SAAS,aAAa,CAAC,OAAwC;IAC7D,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,SAAS,CAAA;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAoB;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,aAAa,CAAA;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discord-bot-shared",
3
- "version": "0.2.3",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "description": "Modules for creating discord bots.",
6
6
  "repository": "github:adamhl8/discord-bot-shared",
@@ -18,23 +18,22 @@
18
18
  "lint": "eslint -f pretty --fix ."
19
19
  },
20
20
  "dependencies": {
21
- "@discordjs/builders": "^0.15.0",
22
- "@discordjs/rest": "^0.5.0",
23
- "discord-api-types": "^0.36.1",
24
- "discord.js": "^13.8.1"
21
+ "@discordjs/rest": "^1.0.0",
22
+ "discord-api-types": "^0.36.3",
23
+ "discord.js": "^14.0.3"
25
24
  },
26
25
  "devDependencies": {
27
26
  "@types/eslint": "^8.4.5",
28
- "@types/node": "^18.0.3",
27
+ "@types/node": "^18.6.1",
29
28
  "@types/prettier": "^2.6.3",
30
- "@typescript-eslint/eslint-plugin": "^5.30.6",
31
- "@typescript-eslint/parser": "^5.30.6",
32
- "eslint": "^8.19.0",
29
+ "@typescript-eslint/eslint-plugin": "^5.31.0",
30
+ "@typescript-eslint/parser": "^5.31.0",
31
+ "eslint": "^8.20.0",
33
32
  "eslint-config-prettier": "^8.5.0",
34
33
  "eslint-formatter-pretty": "^4.1.0",
35
34
  "eslint-plugin-eslint-comments": "^3.2.0",
36
- "eslint-plugin-sonarjs": "^0.13.0",
37
- "eslint-plugin-unicorn": "^43.0.1",
35
+ "eslint-plugin-sonarjs": "^0.14.0",
36
+ "eslint-plugin-unicorn": "^43.0.2",
38
37
  "prettier": "^2.7.1",
39
38
  "prettier-plugin-organize-imports": "^3.0.0",
40
39
  "prettier-plugin-pkg": "^0.16.0",