discord-bot-shared 0.5.1 → 0.6.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.
- package/dist/commands.js +8 -8
- package/dist/events.js +4 -4
- package/dist/guild-cache.js +36 -0
- package/dist/index.js +12 -12
- package/dist/interaction-create.js +39 -0
- package/dist/ready.js +3 -3
- package/dist/{commands.d.ts → types/commands.d.ts} +1 -1
- package/dist/{events.d.ts → types/events.d.ts} +0 -0
- package/dist/{guildCache.d.ts → types/guild-cache.d.ts} +2 -2
- package/dist/types/index.d.ts +8 -0
- package/dist/{interactionCreate.d.ts → types/interaction-create.d.ts} +2 -2
- package/dist/{ready.d.ts → types/ready.d.ts} +1 -1
- package/dist/{util.d.ts → types/util.d.ts} +1 -1
- package/dist/util.js +5 -5
- package/package.json +16 -18
- package/dist/commands.js.map +0 -1
- package/dist/events.js.map +0 -1
- package/dist/guildCache.js +0 -36
- package/dist/guildCache.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.js.map +0 -1
- package/dist/interactionCreate.js +0 -39
- package/dist/interactionCreate.js.map +0 -1
- package/dist/ready.js.map +0 -1
- package/dist/util.js.map +0 -1
package/dist/commands.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { REST } from
|
|
2
|
-
import { Routes } from
|
|
3
|
-
import { Collection } from
|
|
4
|
-
import { readdir } from
|
|
5
|
-
import { fileURLToPath } from
|
|
1
|
+
import { REST } from "@discordjs/rest";
|
|
2
|
+
import { Routes } from "discord-api-types/v10";
|
|
3
|
+
import { Collection } from "discord.js";
|
|
4
|
+
import { readdir } from "node:fs/promises";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
6
|
async function registerCommands(botToken, clientId, projectMetaURL, guildId) {
|
|
7
7
|
const commands = new Collection();
|
|
8
8
|
const commandData = [];
|
|
9
|
-
const commandsDirectory = fileURLToPath(new URL(
|
|
9
|
+
const commandsDirectory = fileURLToPath(new URL("commands", projectMetaURL));
|
|
10
10
|
const commandFiles = await readdir(commandsDirectory);
|
|
11
11
|
if (!commandFiles)
|
|
12
12
|
return commands;
|
|
@@ -19,8 +19,8 @@ async function registerCommands(botToken, clientId, projectMetaURL, guildId) {
|
|
|
19
19
|
guildId
|
|
20
20
|
? await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commandData })
|
|
21
21
|
: await rest.put(Routes.applicationCommands(clientId), { body: commandData });
|
|
22
|
-
console.log(
|
|
22
|
+
console.log("Registered application (/) commands.");
|
|
23
23
|
return commands;
|
|
24
24
|
}
|
|
25
25
|
export default registerCommands;
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3RDLE9BQU8sRUFBMEMsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDdEYsT0FBTyxFQUErQixVQUFVLEVBQXVCLE1BQU0sWUFBWSxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBY3hDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxRQUFnQixFQUFFLFFBQWdCLEVBQUUsY0FBc0IsRUFBRSxPQUFnQjtJQUMxRyxNQUFNLFFBQVEsR0FBdUIsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUNyRCxNQUFNLFdBQVcsR0FBNkMsRUFBRSxDQUFBO0lBRWhFLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFBO0lBQzVFLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDckQsSUFBSSxDQUFDLFlBQVk7UUFBRSxPQUFPLFFBQVEsQ0FBQTtJQUVsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRTtRQUMvQixNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsR0FBRyxpQkFBaUIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFrQixDQUFBO1FBQzVGLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDM0MsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7S0FDM0M7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMxQyxPQUFPO1FBQ0wsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNGLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDL0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO0lBRW5ELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRCxlQUFlLGdCQUFnQixDQUFBIn0=
|
package/dist/events.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { readdir } from
|
|
2
|
-
import { fileURLToPath } from
|
|
1
|
+
import { readdir } from "node:fs/promises";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
3
|
async function registerEvents(projectMetaURL) {
|
|
4
|
-
const eventsDirectory = fileURLToPath(new URL(
|
|
4
|
+
const eventsDirectory = fileURLToPath(new URL("events", projectMetaURL));
|
|
5
5
|
const eventFiles = await readdir(eventsDirectory).catch(console.error);
|
|
6
6
|
if (!eventFiles)
|
|
7
7
|
return;
|
|
@@ -10,4 +10,4 @@ async function registerEvents(projectMetaURL) {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
export default registerEvents;
|
|
13
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV4QyxLQUFLLFVBQVUsY0FBYyxDQUFDLGNBQXNCO0lBQ2xELE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQTtJQUN4RSxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RFLElBQUksQ0FBQyxVQUFVO1FBQUUsT0FBTTtJQUN2QixLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtRQUM3QixNQUFNLE1BQU0sQ0FBQyxHQUFHLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0tBQzNDO0FBQ0gsQ0FBQztBQUVELGVBQWUsY0FBYyxDQUFBIn0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
let bot;
|
|
2
|
+
function setBot(botClient) {
|
|
3
|
+
bot = botClient;
|
|
4
|
+
}
|
|
5
|
+
async function getGuildCache() {
|
|
6
|
+
if (!bot)
|
|
7
|
+
return;
|
|
8
|
+
const guilds = await bot.guilds.fetch();
|
|
9
|
+
if (!guilds)
|
|
10
|
+
return;
|
|
11
|
+
const guild = await guilds.first()?.fetch();
|
|
12
|
+
if (!guild)
|
|
13
|
+
return;
|
|
14
|
+
const channels = await guild.channels.fetch();
|
|
15
|
+
if (!channels)
|
|
16
|
+
return;
|
|
17
|
+
const emojis = await guild.emojis.fetch();
|
|
18
|
+
if (!emojis)
|
|
19
|
+
return;
|
|
20
|
+
const members = await guild.members.fetch();
|
|
21
|
+
if (!members)
|
|
22
|
+
return;
|
|
23
|
+
const roles = await guild.roles.fetch();
|
|
24
|
+
if (!roles)
|
|
25
|
+
return;
|
|
26
|
+
return {
|
|
27
|
+
guild,
|
|
28
|
+
channels,
|
|
29
|
+
emojis,
|
|
30
|
+
members,
|
|
31
|
+
roles,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export default getGuildCache;
|
|
35
|
+
export { setBot };
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpbGQtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ3VpbGQtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsSUFBSSxHQUFXLENBQUE7QUFFZixTQUFTLE1BQU0sQ0FBQyxTQUFpQjtJQUMvQixHQUFHLEdBQUcsU0FBUyxDQUFBO0FBQ2pCLENBQUM7QUFFRCxLQUFLLFVBQVUsYUFBYTtJQUMxQixJQUFJLENBQUMsR0FBRztRQUFFLE9BQU07SUFFaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZDLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTTtJQUNuQixNQUFNLEtBQUssR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU07SUFFbEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQzdDLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTTtJQUVyQixNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDekMsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFNO0lBRW5CLE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxJQUFJLENBQUMsT0FBTztRQUFFLE9BQU07SUFFcEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3ZDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTTtJQUVsQixPQUFPO1FBQ0wsS0FBSztRQUNMLFFBQVE7UUFDUixNQUFNO1FBQ04sT0FBTztRQUNQLEtBQUs7S0FDTixDQUFBO0FBQ0gsQ0FBQztBQUVELGVBQWUsYUFBYSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQSJ9
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Client } from
|
|
2
|
-
import registerCommands from
|
|
3
|
-
import registerEvents from
|
|
4
|
-
import { setBot } from
|
|
5
|
-
import registerInteractionCreate from
|
|
6
|
-
import registerReady from
|
|
7
|
-
const botToken = process.env.BOT_TOKEN ||
|
|
8
|
-
const clientId = process.env.CLIENT_ID ||
|
|
9
|
-
const guildId = process.env.GUILD_ID ||
|
|
1
|
+
import { Client } from "discord.js";
|
|
2
|
+
import registerCommands from "./commands.js";
|
|
3
|
+
import registerEvents from "./events.js";
|
|
4
|
+
import { setBot } from "./guild-cache.js";
|
|
5
|
+
import registerInteractionCreate from "./interaction-create.js";
|
|
6
|
+
import registerReady from "./ready.js";
|
|
7
|
+
const botToken = process.env.BOT_TOKEN || "";
|
|
8
|
+
const clientId = process.env.CLIENT_ID || "";
|
|
9
|
+
const guildId = process.env.GUILD_ID || "";
|
|
10
10
|
async function login(botIntents, projectMetaURL, interactionCheck) {
|
|
11
11
|
const bot = new Client(botIntents);
|
|
12
12
|
const commands = await registerCommands(botToken, clientId, projectMetaURL, guildId);
|
|
@@ -18,6 +18,6 @@ async function login(botIntents, projectMetaURL, interactionCheck) {
|
|
|
18
18
|
return bot;
|
|
19
19
|
}
|
|
20
20
|
export default login;
|
|
21
|
-
export { default as getGuildCache } from
|
|
22
|
-
export { getChannel, isCategoryChannel, isTextChannel, throwError } from
|
|
23
|
-
//# sourceMappingURL=
|
|
21
|
+
export { default as getGuildCache } from "./guild-cache.js";
|
|
22
|
+
export { getChannel, isCategoryChannel, isTextChannel, throwError } from "./util.js";
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxZQUFZLENBQUE7QUFDbEQsT0FBTyxnQkFBZ0IsTUFBTSxlQUFlLENBQUE7QUFDNUMsT0FBTyxjQUFjLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLHlCQUErQyxNQUFNLHlCQUF5QixDQUFBO0FBQ3JGLE9BQU8sYUFBYSxNQUFNLFlBQVksQ0FBQTtBQUV0QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUE7QUFDNUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFBO0FBQzVDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQTtBQUUxQyxLQUFLLFVBQVUsS0FBSyxDQUFDLFVBQXlCLEVBQUUsY0FBc0IsRUFBRSxnQkFBbUM7SUFDekcsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUVwRixhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbEIseUJBQXlCLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO0lBQzFELEtBQUssY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRW5DLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUVYLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN4QixPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUM7QUFFRCxlQUFlLEtBQUssQ0FBQTtBQUVwQixPQUFPLEVBQUUsT0FBTyxJQUFJLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTNELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQSJ9
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function registerInteractionCreate(bot, commands, interactionCheck) {
|
|
2
|
+
bot.on("interactionCreate", async (interaction) => {
|
|
3
|
+
if (!interaction.isChatInputCommand())
|
|
4
|
+
return;
|
|
5
|
+
const command = commands.get(interaction.commandName);
|
|
6
|
+
if (!command)
|
|
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.");
|
|
10
|
+
try {
|
|
11
|
+
const interactionCheckPassed = interactionCheck ? await interactionCheck(interaction) : true;
|
|
12
|
+
if (!interactionCheckPassed)
|
|
13
|
+
return;
|
|
14
|
+
await command.run(interaction);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
const errorMessage = error instanceof Error ? error.message : "";
|
|
18
|
+
interactionReply(interaction, `There was an error while running this command.\n${errorMessage}`);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
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
|
+
}
|
|
38
|
+
export default registerInteractionCreate;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyYWN0aW9uLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxTQUFTLHlCQUF5QixDQUFDLEdBQVcsRUFBRSxRQUE0QixFQUFFLGdCQUFtQztJQUMvRyxHQUFHLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtRQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFO1lBQUUsT0FBTTtRQUU3QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNyRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxFQUFFLHdCQUF3QixDQUFDLENBQUE7UUFFNUUsSUFBSSxDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxFQUFFLGdFQUFnRSxDQUFDLENBQUE7UUFFeEcsSUFBSTtZQUNGLE1BQU0sc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtZQUM1RixJQUFJLENBQUMsc0JBQXNCO2dCQUFFLE9BQU07WUFFbkMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1NBQy9CO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7WUFDaEUsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLG1EQUFtRCxZQUFZLEVBQUUsQ0FBQyxDQUFBO1NBQ2pHO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFnQixFQUFFLFdBQXdDO0lBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBRXZDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzVGLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTTtRQUVuQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7S0FDdEg7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFdBQXdDLEVBQUUsT0FBZTtJQUNqRixXQUFXLENBQUMsUUFBUTtRQUNsQixDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzFELENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDeEYsQ0FBQztBQUVELGVBQWUseUJBQXlCLENBQUEifQ==
|
package/dist/ready.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function registerReady(bot) {
|
|
2
|
-
bot.once(
|
|
3
|
-
console.log(
|
|
2
|
+
bot.once("ready", () => {
|
|
3
|
+
console.log("I am ready!");
|
|
4
4
|
});
|
|
5
5
|
}
|
|
6
6
|
export default registerReady;
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVhZHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsU0FBUyxhQUFhLENBQUMsR0FBVztJQUNoQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUM1QixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxlQUFlLGFBQWEsQ0FBQSJ9
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Client } from
|
|
1
|
+
import { Client } from "discord.js";
|
|
2
2
|
declare function setBot(botClient: Client): void;
|
|
3
3
|
declare function getGuildCache(): Promise<{
|
|
4
4
|
guild: import("discord.js").Guild;
|
|
5
|
-
channels: import("discord.js").Collection<string, import("discord.js").NonThreadGuildBasedChannel>;
|
|
5
|
+
channels: import("discord.js").Collection<string, import("discord.js").NonThreadGuildBasedChannel | null>;
|
|
6
6
|
emojis: import("discord.js").Collection<string, import("discord.js").GuildEmoji>;
|
|
7
7
|
members: import("discord.js").Collection<string, import("discord.js").GuildMember>;
|
|
8
8
|
roles: import("discord.js").Collection<string, import("discord.js").Role>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Client, ClientOptions } from "discord.js";
|
|
2
|
+
import { InteractionCheck } from "./interaction-create.js";
|
|
3
|
+
declare function login(botIntents: ClientOptions, projectMetaURL: string, interactionCheck?: InteractionCheck): Promise<Client>;
|
|
4
|
+
export default login;
|
|
5
|
+
export { Command } from "./commands.js";
|
|
6
|
+
export { default as getGuildCache } from "./guild-cache.js";
|
|
7
|
+
export { InteractionCheck } from "./interaction-create.js";
|
|
8
|
+
export { getChannel, isCategoryChannel, isTextChannel, throwError } from "./util.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ChatInputCommandInteraction, Client } from
|
|
2
|
-
import { CommandsCollection } from
|
|
1
|
+
import { ChatInputCommandInteraction, Client } from "discord.js";
|
|
2
|
+
import { CommandsCollection } from "./commands.js";
|
|
3
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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APIPartialChannel, BaseChannel, CategoryChannel, ChannelType, NonThreadGuildBasedChannel, TextChannel } from
|
|
1
|
+
import { APIPartialChannel, BaseChannel, CategoryChannel, ChannelType, NonThreadGuildBasedChannel, TextChannel } from "discord.js";
|
|
2
2
|
declare type NonThreadGuildBasedChannelType = ChannelType.GuildText | ChannelType.GuildVoice | ChannelType.GuildNews | ChannelType.GuildStageVoice | ChannelType.GuildCategory;
|
|
3
3
|
declare function getChannel<T extends NonThreadGuildBasedChannel>(channelNameOrId: string, channelType: NonThreadGuildBasedChannelType): Promise<T | undefined>;
|
|
4
4
|
declare function isTextChannel(channel: BaseChannel | APIPartialChannel): channel is TextChannel;
|
package/dist/util.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ChannelType } from
|
|
2
|
-
import getGuildCache from
|
|
1
|
+
import { ChannelType } from "discord.js";
|
|
2
|
+
import getGuildCache from "./guild-cache.js";
|
|
3
3
|
async function getChannel(channelNameOrId, channelType) {
|
|
4
|
-
const { channels } = (await getGuildCache()) || throwError(
|
|
4
|
+
const { channels } = (await getGuildCache()) || throwError("Unable to get guild cache.");
|
|
5
5
|
let channel;
|
|
6
|
-
channel = channels.find((channel) => channel.name === channelNameOrId);
|
|
6
|
+
channel = channels.find((channel) => (channel ? channel.name === channelNameOrId : false));
|
|
7
7
|
if (channel)
|
|
8
8
|
return channel.type === channelType ? channel : undefined;
|
|
9
9
|
channel = channels.get(channelNameOrId);
|
|
@@ -20,4 +20,4 @@ function throwError(error) {
|
|
|
20
20
|
throw new Error(error);
|
|
21
21
|
}
|
|
22
22
|
export { getChannel, isTextChannel, isCategoryChannel, throwError };
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUQsV0FBVyxFQUEyQyxNQUFNLFlBQVksQ0FBQTtBQUNsSSxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQVM1QyxLQUFLLFVBQVUsVUFBVSxDQUN2QixlQUF1QixFQUN2QixXQUEyQztJQUUzQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLGFBQWEsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUE7SUFFeEYsSUFBSSxPQUFzRCxDQUFBO0lBQzFELE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDMUYsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUUsT0FBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFFN0UsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkMsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUUsT0FBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFDL0UsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQXdDO0lBQzdELE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsU0FBUyxDQUFBO0FBQy9DLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLE9BQW9CO0lBQzdDLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsYUFBYSxDQUFBO0FBQ25ELENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDeEIsQ0FBQztBQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "discord-bot-shared",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Modules for creating discord bots.",
|
|
6
6
|
"repository": "github:adamhl8/discord-bot-shared",
|
|
@@ -12,32 +12,30 @@
|
|
|
12
12
|
"README.md",
|
|
13
13
|
"LICENSE"
|
|
14
14
|
],
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "tsc",
|
|
17
|
-
"format": "prettier --write .",
|
|
18
|
-
"lint": "eslint -f pretty"
|
|
19
|
-
},
|
|
20
15
|
"dependencies": {
|
|
21
|
-
"@discordjs/rest": "^1.
|
|
22
|
-
"discord-api-types": "^0.37.
|
|
23
|
-
"discord.js": "^14.
|
|
16
|
+
"@discordjs/rest": "^1.2.0",
|
|
17
|
+
"discord-api-types": "^0.37.12",
|
|
18
|
+
"discord.js": "^14.5.0"
|
|
24
19
|
},
|
|
25
20
|
"devDependencies": {
|
|
26
|
-
"@types/
|
|
27
|
-
"@
|
|
28
|
-
"@
|
|
29
|
-
"
|
|
30
|
-
"@typescript-eslint/parser": "^5.37.0",
|
|
31
|
-
"eslint": "^8.23.1",
|
|
21
|
+
"@types/node": "^18.8.3",
|
|
22
|
+
"@typescript-eslint/eslint-plugin": "^5.39.0",
|
|
23
|
+
"@typescript-eslint/parser": "^5.39.0",
|
|
24
|
+
"eslint": "^8.24.0",
|
|
32
25
|
"eslint-config-prettier": "^8.5.0",
|
|
33
26
|
"eslint-formatter-pretty": "^4.1.0",
|
|
34
27
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
35
28
|
"eslint-plugin-sonarjs": "^0.15.0",
|
|
36
|
-
"eslint-plugin-unicorn": "^
|
|
29
|
+
"eslint-plugin-unicorn": "^44.0.1",
|
|
37
30
|
"prettier": "^2.7.1",
|
|
38
31
|
"prettier-plugin-organize-imports": "^3.1.1",
|
|
39
32
|
"prettier-plugin-pkg": "^0.17.1",
|
|
40
33
|
"prettier-plugin-sh": "^0.12.8",
|
|
41
|
-
"typescript": "^4.8.
|
|
34
|
+
"typescript": "^4.8.4"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "pnpm lint && tsc",
|
|
38
|
+
"format": "prettier --write .",
|
|
39
|
+
"lint": "eslint -f pretty ."
|
|
42
40
|
}
|
|
43
|
-
}
|
|
41
|
+
}
|
package/dist/commands.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/events.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,KAAK,UAAU,cAAc,CAAC,cAAsB;IAClD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;IACxE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACtE,IAAI,CAAC,UAAU;QAAE,OAAM;IACvB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC7B,MAAM,MAAM,CAAC,GAAG,eAAe,IAAI,IAAI,EAAE,CAAC,CAAA;KAC3C;AACH,CAAC;AAED,eAAe,cAAc,CAAA"}
|
package/dist/guildCache.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
let bot;
|
|
2
|
-
function setBot(botClient) {
|
|
3
|
-
bot = botClient;
|
|
4
|
-
}
|
|
5
|
-
async function getGuildCache() {
|
|
6
|
-
if (!bot)
|
|
7
|
-
return;
|
|
8
|
-
const guilds = await bot.guilds.fetch();
|
|
9
|
-
if (!guilds)
|
|
10
|
-
return;
|
|
11
|
-
const guild = await guilds.first()?.fetch();
|
|
12
|
-
if (!guild)
|
|
13
|
-
return;
|
|
14
|
-
const channels = await guild.channels.fetch();
|
|
15
|
-
if (!channels)
|
|
16
|
-
return;
|
|
17
|
-
const emojis = await guild.emojis.fetch();
|
|
18
|
-
if (!emojis)
|
|
19
|
-
return;
|
|
20
|
-
const members = await guild.members.fetch();
|
|
21
|
-
if (!members)
|
|
22
|
-
return;
|
|
23
|
-
const roles = await guild.roles.fetch();
|
|
24
|
-
if (!roles)
|
|
25
|
-
return;
|
|
26
|
-
return {
|
|
27
|
-
guild,
|
|
28
|
-
channels,
|
|
29
|
-
emojis,
|
|
30
|
-
members,
|
|
31
|
-
roles,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
export default getGuildCache;
|
|
35
|
-
export { setBot };
|
|
36
|
-
//# sourceMappingURL=guildCache.js.map
|
package/dist/guildCache.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;IAC1B,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,MAAM,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAA;IAC3C,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
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Client, ClientOptions } from 'discord.js';
|
|
2
|
-
import { InteractionCheck } from './interactionCreate.js';
|
|
3
|
-
declare function login(botIntents: ClientOptions, projectMetaURL: string, interactionCheck?: InteractionCheck): Promise<Client>;
|
|
4
|
-
export default login;
|
|
5
|
-
export { Command } from './commands.js';
|
|
6
|
-
export { default as getGuildCache } from './guildCache.js';
|
|
7
|
-
export { InteractionCheck } from './interactionCreate.js';
|
|
8
|
-
export { getChannel, isCategoryChannel, isTextChannel, throwError } from './util.js';
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,UAAyB,EAAE,cAAsB,EAAE,gBAAmC;IACzG,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,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
function registerInteractionCreate(bot, commands, interactionCheck) {
|
|
2
|
-
bot.on('interactionCreate', async (interaction) => {
|
|
3
|
-
if (!interaction.isChatInputCommand())
|
|
4
|
-
return;
|
|
5
|
-
const command = commands.get(interaction.commandName);
|
|
6
|
-
if (!command)
|
|
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.');
|
|
10
|
-
try {
|
|
11
|
-
const interactionCheckPassed = interactionCheck ? await interactionCheck(interaction) : true;
|
|
12
|
-
if (!interactionCheckPassed)
|
|
13
|
-
return;
|
|
14
|
-
await command.run(interaction);
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
const errorMessage = error instanceof Error ? error.message : '';
|
|
18
|
-
interactionReply(interaction, `There was an error while running this command.\n${errorMessage}`);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
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
|
-
}
|
|
38
|
-
export default registerInteractionCreate;
|
|
39
|
-
//# sourceMappingURL=interactionCreate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;KACtH;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/ready.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ready.js","sourceRoot":"","sources":["../src/ready.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,GAAW;IAChC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,eAAe,aAAa,CAAA"}
|
package/dist/util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,WAAW,EAA2C,MAAM,YAAY,CAAA;AAClI,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAS3C,KAAK,UAAU,UAAU,CACvB,eAAuB,EACvB,WAA2C;IAE3C,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,aAAa,EAAE,CAAC,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAA;IAExF,IAAI,OAA+C,CAAA;IACnD,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAA;IACtE,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAE,OAAa,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7E,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACvC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAE,OAAa,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/E,CAAC;AAED,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,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAA"}
|