discord-bot-shared 0.6.3 → 0.7.0

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.
@@ -2,11 +2,9 @@ let bot
2
2
  function setBot(botClient) {
3
3
  bot = botClient
4
4
  }
5
- async function getGuildCache() {
5
+ async function getGuildCache(guildResolvable) {
6
6
  if (!bot) return
7
- const guilds = await bot.guilds.fetch()
8
- if (!guilds) return
9
- const guild = await guilds.first()?.fetch()
7
+ const guild = await bot.guilds.fetch({ guild: guildResolvable })
10
8
  if (!guild) return
11
9
  const channels = await guild.channels.fetch()
12
10
  if (!channels) return
@@ -26,4 +24,4 @@ async function getGuildCache() {
26
24
  }
27
25
  export default getGuildCache
28
26
  export { setBot }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpbGQtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3VpbGQtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsSUFBSSxHQUFXLENBQUE7QUFFZixTQUFTLE1BQU0sQ0FBQyxTQUFpQjtJQUMvQixHQUFHLEdBQUcsU0FBUyxDQUFBO0FBQ2pCLENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYTtJQUMxQixJQUFJLENBQUMsR0FBRztRQUFFLE9BQU07SUFFaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZDLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTTtJQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU07SUFFbEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQzdDLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTTtJQUVyQixNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDekMsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFNO0lBRW5CLE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxJQUFJLENBQUMsT0FBTztRQUFFLE9BQU07SUFFcEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTTtJQUVsQixPQUFPO1FBQ0wsS0FBSztRQUNMLFFBQVE7UUFDUixNQUFNO1FBQ04sT0FBTztRQUNQLEtBQUs7S0FDTixDQUFBO0FBQ0gsQ0FBQztBQUVELGVBQWUsYUFBYSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQSJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpbGQtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3VpbGQtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsSUFBSSxHQUFXLENBQUE7QUFFZixTQUFTLE1BQU0sQ0FBQyxTQUFpQjtJQUMvQixHQUFHLEdBQUcsU0FBUyxDQUFBO0FBQ2pCLENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYSxDQUFDLGVBQWdDO0lBQzNELElBQUksQ0FBQyxHQUFHO1FBQUUsT0FBTTtJQUVoQixNQUFNLEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDaEUsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFNO0lBRWxCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM3QyxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU07SUFFckIsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3pDLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTTtJQUVuQixNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDM0MsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFNO0lBRXBCLE1BQU0sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN2QyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU07SUFFbEIsT0FBTztRQUNMLEtBQUs7UUFDTCxRQUFRO1FBQ1IsTUFBTTtRQUNOLE9BQU87UUFDUCxLQUFLO0tBQ04sQ0FBQTtBQUNILENBQUM7QUFFRCxlQUFlLGFBQWEsQ0FBQTtBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUEifQ==
@@ -4,7 +4,7 @@ interface Command {
4
4
  command: SlashCommandBuilder
5
5
  run: (interaction: ChatInputCommandInteraction) => void | Promise<void>
6
6
  }
7
- declare type CommandsCollection = Collection<string, Command>
7
+ type CommandsCollection = Collection<string, Command>
8
8
  declare function registerCommands(botToken: string, clientId: string, projectMetaURL: string, guildId?: string): Promise<CommandsCollection>
9
9
  export default registerCommands
10
10
  export { Command, CommandsCollection }
@@ -1,12 +1,12 @@
1
- import { Client } from "discord.js"
1
+ import { Client, GuildResolvable } from "discord.js"
2
2
  declare function setBot(botClient: Client): void
3
- declare function getGuildCache(): Promise<
3
+ declare function getGuildCache(guildResolvable: GuildResolvable): Promise<
4
4
  | {
5
5
  guild: import("discord.js").Guild
6
- channels: import("discord.js").Collection<string, import("discord.js").NonThreadGuildBasedChannel | null>
7
- emojis: import("discord.js").Collection<string, import("discord.js").GuildEmoji>
8
- members: import("discord.js").Collection<string, import("discord.js").GuildMember>
9
- roles: import("discord.js").Collection<string, import("discord.js").Role>
6
+ channels: import("@discordjs/collection").Collection<string, import("discord.js").NonThreadGuildBasedChannel | null>
7
+ emojis: import("@discordjs/collection").Collection<string, import("discord.js").GuildEmoji>
8
+ members: import("@discordjs/collection").Collection<string, import("discord.js").GuildMember>
9
+ roles: import("@discordjs/collection").Collection<string, import("discord.js").Role>
10
10
  }
11
11
  | undefined
12
12
  >
@@ -1,6 +1,6 @@
1
1
  import { ChatInputCommandInteraction, Client } from "discord.js"
2
2
  import { CommandsCollection } from "./commands.js"
3
- declare type InteractionCheck = (interaction: ChatInputCommandInteraction) => Promise<boolean | void>
3
+ 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,5 +1,13 @@
1
- import { APIPartialChannel, BaseChannel, CategoryChannel, ChannelType, NonThreadGuildBasedChannel, TextChannel } from "discord.js"
2
- declare type NonThreadGuildBasedChannelType =
1
+ import {
2
+ APIPartialChannel,
3
+ BaseChannel,
4
+ CategoryChannel,
5
+ ChannelType,
6
+ GuildResolvable,
7
+ NonThreadGuildBasedChannel,
8
+ TextChannel,
9
+ } from "discord.js"
10
+ type NonThreadGuildBasedChannelType =
3
11
  | ChannelType.GuildText
4
12
  | ChannelType.GuildVoice
5
13
  | ChannelType.GuildNews
@@ -8,6 +16,7 @@ declare type NonThreadGuildBasedChannelType =
8
16
  declare function getChannel<T extends NonThreadGuildBasedChannel>(
9
17
  channelNameOrId: string,
10
18
  channelType: NonThreadGuildBasedChannelType,
19
+ guildResolvable: GuildResolvable,
11
20
  ): Promise<T | undefined>
12
21
  declare function isTextChannel(channel: BaseChannel | APIPartialChannel): channel is TextChannel
13
22
  declare function isCategoryChannel(channel: BaseChannel): channel is CategoryChannel
package/dist/util.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ChannelType } from "discord.js"
2
2
  import getGuildCache from "./guild-cache.js"
3
- async function getChannel(channelNameOrId, channelType) {
4
- const { channels } = (await getGuildCache()) || throwError("Unable to get guild cache.")
3
+ async function getChannel(channelNameOrId, channelType, guildResolvable) {
4
+ const { channels } = (await getGuildCache(guildResolvable)) || throwError("Unable to get guild cache.")
5
5
  let channel
6
6
  channel = channels.find((channel) => (channel ? channel.name === channelNameOrId : false))
7
7
  if (channel) return channel.type === channelType ? channel : undefined
@@ -18,4 +18,4 @@ function throwError(error) {
18
18
  throw new Error(error)
19
19
  }
20
20
  export { getChannel, isTextChannel, isCategoryChannel, throwError }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUQsV0FBVyxFQUEyQyxNQUFNLFlBQVksQ0FBQTtBQUNsSSxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQVM1QyxLQUFLLFVBQVUsVUFBVSxDQUN2QixlQUF1QixFQUN2QixXQUEyQztJQUUzQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQWEsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFFeEYsSUFBSSxPQUFzRCxDQUFBO0lBQzFELE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDMUYsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUUsT0FBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFFN0UsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkMsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUUsT0FBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFDL0UsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQXdDO0lBQzdELE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsU0FBUyxDQUFBO0FBQy9DLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLE9BQW9CO0lBQzdDLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsYUFBYSxDQUFBO0FBQ25ELENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDeEIsQ0FBQztBQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxDQUFBIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxXQUFXLEdBSVosTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFTNUMsS0FBSyxVQUFVLFVBQVUsQ0FDdkIsZUFBdUIsRUFDdkIsV0FBMkMsRUFDM0MsZUFBZ0M7SUFFaEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtJQUV2RyxJQUFJLE9BQXNELENBQUE7SUFDMUQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUMxRixJQUFJLE9BQU87UUFBRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBRSxPQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUU3RSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QyxJQUFJLE9BQU87UUFBRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBRSxPQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUMvRSxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsT0FBd0M7SUFDN0QsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxTQUFTLENBQUE7QUFDL0MsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsT0FBb0I7SUFDN0MsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxhQUFhLENBQUE7QUFDbkQsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWE7SUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUN4QixDQUFDO0FBRUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discord-bot-shared",
3
- "version": "0.6.3",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "description": "Modules for creating discord bots.",
6
6
  "repository": "github:adamhl8/discord-bot-shared",
@@ -14,25 +14,25 @@
14
14
  "LICENSE"
15
15
  ],
16
16
  "dependencies": {
17
- "@discordjs/rest": "^1.2.0",
18
- "discord-api-types": "^0.37.12",
19
- "discord.js": "^14.5.0"
17
+ "@discordjs/rest": "^1.4.0",
18
+ "discord-api-types": "^0.37.22",
19
+ "discord.js": "^14.7.1"
20
20
  },
21
21
  "devDependencies": {
22
- "@types/node": "^18.8.3",
23
- "@typescript-eslint/eslint-plugin": "^5.39.0",
24
- "@typescript-eslint/parser": "^5.39.0",
25
- "eslint": "^8.24.0",
22
+ "@types/node": "^18.11.13",
23
+ "@typescript-eslint/eslint-plugin": "^5.46.1",
24
+ "@typescript-eslint/parser": "^5.46.1",
25
+ "eslint": "^8.29.0",
26
26
  "eslint-config-prettier": "^8.5.0",
27
27
  "eslint-formatter-pretty": "^4.1.0",
28
28
  "eslint-plugin-eslint-comments": "^3.2.0",
29
- "eslint-plugin-sonarjs": "^0.15.0",
30
- "eslint-plugin-unicorn": "^44.0.1",
31
- "prettier": "^2.7.1",
32
- "prettier-plugin-organize-imports": "^3.1.1",
29
+ "eslint-plugin-sonarjs": "^0.17.0",
30
+ "eslint-plugin-unicorn": "^45.0.2",
31
+ "prettier": "^2.8.1",
32
+ "prettier-plugin-organize-imports": "^3.2.1",
33
33
  "prettier-plugin-pkg": "^0.17.1",
34
34
  "prettier-plugin-sh": "^0.12.8",
35
- "typescript": "^4.8.4"
35
+ "typescript": "^4.9.4"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "rm -rf dist && pnpm lint && tsc && pnpm format",