Initial commit
This commit is contained in:
commit
41c1365249
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
node_modules/
|
||||
config.json
|
25
commands/wol/setup.mjs
Normal file
25
commands/wol/setup.mjs
Normal file
@ -0,0 +1,25 @@
|
||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, SlashCommandBuilder } from "discord.js";
|
||||
|
||||
export default {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName("setup")
|
||||
.setDefaultMemberPermissions(0x8)
|
||||
.setDescription("Affiche un embed pour démarrer le serveur."),
|
||||
async execute(interaction, client) {
|
||||
await interaction.channel.send({ embeds: [startEmbed], components: [startRow] });
|
||||
await interaction.reply({ content: "Voilà", ephemeral: true });
|
||||
},
|
||||
};
|
||||
|
||||
const startEmbed = new EmbedBuilder()
|
||||
.setTitle("ඞ")
|
||||
.setDescription("Cliquez sur le bouton ci-dessous pour démarrer le serveur !\nRendez-vous ensuite sur le panel pour lancer le serveur minecraft :p")
|
||||
.setColor("#966709")
|
||||
|
||||
const startRow = new ActionRowBuilder()
|
||||
.setComponents([
|
||||
new ButtonBuilder()
|
||||
.setCustomId('start')
|
||||
.setStyle(ButtonStyle.Success)
|
||||
.setLabel('Lancer le serveur')
|
||||
])
|
5
config.example.json
Normal file
5
config.example.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"token" : "NeverGonnaGiveYouUp",
|
||||
"clientId" : "Bot's ID",
|
||||
"MAC" : "MM:AA:CC:AA:DD:RR"
|
||||
}
|
61
events/interactionCreate.mjs
Normal file
61
events/interactionCreate.mjs
Normal file
@ -0,0 +1,61 @@
|
||||
import { buttonList } from "../interactions/buttons/index.mjs";
|
||||
/*import { modalList } from "../interactions/modals/index.mjs";
|
||||
import { selectMenuList } from "../interactions/selectmenus/index.mjs";
|
||||
*/
|
||||
|
||||
export default {
|
||||
name: "interactionCreate",
|
||||
async execute(interaction, client) {
|
||||
|
||||
if (
|
||||
interaction.isChatInputCommand() ||
|
||||
interaction.isContextMenuCommand()
|
||||
) {
|
||||
const command = client.commands.get(interaction.commandName);
|
||||
if (!command) return;
|
||||
|
||||
try {
|
||||
await command.execute(interaction, client);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
try {
|
||||
await interaction.reply({
|
||||
content:
|
||||
"There was an error while executing this command!",
|
||||
ephemeral: true,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
} else if (interaction.isButton()) {
|
||||
buttonList[interaction.customId.split("_")[0]]
|
||||
? buttonList[interaction.customId.split("_")[0]].execute(
|
||||
interaction,
|
||||
client,
|
||||
)
|
||||
: errorMessage(interaction);
|
||||
} else if (interaction.isStringSelectMenu()) {
|
||||
selectMenuList[interaction.customId.split("_")[0]].execute(
|
||||
interaction,
|
||||
client,
|
||||
);
|
||||
} else if (interaction.isModalSubmit()) {
|
||||
modalList[interaction.customId.split("_")[0]]
|
||||
? modalList[interaction.customId.split("_")[0]].execute(
|
||||
interaction,
|
||||
client,
|
||||
)
|
||||
: errorMessage(interaction);
|
||||
} else {
|
||||
console.log(interaction);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
function errorMessage(interaction) {
|
||||
interaction.reply({
|
||||
content: "Si vous encounter this error, please contact @ninjdai !",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
8
events/ready.mjs
Normal file
8
events/ready.mjs
Normal file
@ -0,0 +1,8 @@
|
||||
export default {
|
||||
name: "ready",
|
||||
once: true,
|
||||
async execute(client) {
|
||||
console.log("Ready !");
|
||||
client.user.setStatus("online");
|
||||
},
|
||||
};
|
83
functions.mjs
Normal file
83
functions.mjs
Normal file
@ -0,0 +1,83 @@
|
||||
import { REST } from "@discordjs/rest";
|
||||
import { Routes } from "discord-api-types/v10";
|
||||
import { Collection } from "discord.js";
|
||||
import fs from "fs";
|
||||
|
||||
import config from "./config.json" assert { type: "json" };
|
||||
const { token, clientId } = config;
|
||||
|
||||
const rest = new REST({ version: "10" }).setToken(token);
|
||||
|
||||
async function deploy_commands(client, loadcommands) {
|
||||
if (typeof loadcommands != "boolean" && loadcommands != null)
|
||||
throw "loadcommands argument needs to be boolean or null";
|
||||
|
||||
const commands = [];
|
||||
client.commands = new Collection();
|
||||
const commandCategories = fs
|
||||
.readdirSync("./commands")
|
||||
.filter((file) => !file.includes("."));
|
||||
console.log(`Loading ${commandCategories.toString()} commands...`);
|
||||
for (const category of commandCategories) {
|
||||
const commandFiles = fs
|
||||
.readdirSync(`./commands/${category}`)
|
||||
.filter((file) => file.endsWith(".mjs"));
|
||||
console.log(`Loading ${commandFiles.toString()}...`);
|
||||
for (const file of commandFiles) {
|
||||
const { default: command } = await import(
|
||||
`./commands/${category}/${file}`
|
||||
);
|
||||
commands.push(command.data);
|
||||
client.commands.set(command.data.name, command);
|
||||
|
||||
console.log(`${category}/${command.data.name} chargé !`);
|
||||
}
|
||||
}
|
||||
if (loadcommands == true) {
|
||||
slashCommandLoad(client, commands);
|
||||
console.log("Refreshed slash commands !");
|
||||
} else if (loadcommands == false) {
|
||||
//Deletes slash commands
|
||||
slashCommandLoad(client, []);
|
||||
console.log("Deleted slash commands !");
|
||||
} else {
|
||||
console.log("Kept old commands");
|
||||
}
|
||||
}
|
||||
|
||||
async function slashCommandLoad(client, commands) {
|
||||
try {
|
||||
console.log("Loading slash commands...");
|
||||
await rest.put(Routes.applicationCommands(clientId), {
|
||||
body: commands,
|
||||
});
|
||||
console.log("Slash commands loaded !");
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
return client.commands;
|
||||
}
|
||||
|
||||
function loadErrorCatcher() {
|
||||
console.log("Loading error catcher...");
|
||||
|
||||
process.on("unhandledRejection", (reason, promise) => {
|
||||
console.log(reason, "\n", promise);
|
||||
});
|
||||
|
||||
process.on("uncaughtException", (err, origin) => {
|
||||
console.log(err, "\n", origin);
|
||||
});
|
||||
|
||||
process.on("uncaughtExceptionMonitor", (err, origin) => {
|
||||
console.log(err, "\n", origin);
|
||||
});
|
||||
|
||||
process.on("warning", (warn) => {
|
||||
console.log(warn);
|
||||
});
|
||||
|
||||
console.log("Error catcher loaded !");
|
||||
}
|
||||
|
||||
export { deploy_commands, loadErrorCatcher };
|
40
index.mjs
Normal file
40
index.mjs
Normal file
@ -0,0 +1,40 @@
|
||||
import fs from "fs";
|
||||
import { Client, GatewayIntentBits } from "discord.js";
|
||||
import { deploy_commands, loadErrorCatcher } from "./functions.mjs";
|
||||
|
||||
import config from "./config.json" assert { type: "json" };
|
||||
const { token } = config;
|
||||
|
||||
const client = new Client({
|
||||
intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
GatewayIntentBits.GuildModeration,
|
||||
GatewayIntentBits.GuildMessages,
|
||||
GatewayIntentBits.MessageContent,
|
||||
],
|
||||
});
|
||||
|
||||
loadErrorCatcher();
|
||||
|
||||
const eventFiles = fs
|
||||
.readdirSync("./events")
|
||||
.filter((file) => file.endsWith(".mjs"));
|
||||
for (const file of eventFiles) {
|
||||
const { default: event } = await import(`./events/${file}`);
|
||||
if (event.once) {
|
||||
client.once(event.name, (...args) => event.execute(...args, client));
|
||||
} else {
|
||||
client.on(event.name, (...args) => event.execute(...args, client));
|
||||
}
|
||||
console.log(`Loaded ${event.name} event !`);
|
||||
}
|
||||
|
||||
deploy_commands(client, true);
|
||||
/*
|
||||
true will refresh slash commands (SET endpoint)
|
||||
false will delete them (SET endpoint with an empty array)
|
||||
null will not change slash commands
|
||||
*/
|
||||
|
||||
|
||||
client.login(token);
|
7
interactions/buttons/index.mjs
Normal file
7
interactions/buttons/index.mjs
Normal file
@ -0,0 +1,7 @@
|
||||
import start from "./src/start.mjs";
|
||||
|
||||
const buttonList = {
|
||||
start: start,
|
||||
};
|
||||
|
||||
export { buttonList };
|
17
interactions/buttons/src/start.mjs
Normal file
17
interactions/buttons/src/start.mjs
Normal file
@ -0,0 +1,17 @@
|
||||
import wol from "wake_on_lan";
|
||||
|
||||
import config from "../../../config.json" assert { type: "json" };
|
||||
const { MAC } = config;
|
||||
|
||||
export default {
|
||||
async execute(interaction, client) {
|
||||
await interaction.reply({ content: "Lancement du serveur...", ephemeral: true });
|
||||
wol.wake(MAC, async function(error) {
|
||||
if (error) {
|
||||
await interaction.editReply({ content: "Erreur lors du démarrage !" })
|
||||
} else {
|
||||
await interaction.editReply({ content: "Le serveur devrait démarrer sous peu !" })
|
||||
};
|
||||
});
|
||||
},
|
||||
};
|
25
jsconfig.json
Normal file
25
jsconfig.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"include": [
|
||||
"*.json"
|
||||
],
|
||||
"compilerOptions": {
|
||||
"lib": ["ESNext"],
|
||||
"module": "esnext",
|
||||
"target": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"moduleDetection": "force",
|
||||
"allowImportingTsExtensions": true,
|
||||
"noEmit": true,
|
||||
"composite": true,
|
||||
"strict": true,
|
||||
"downlevelIteration": true,
|
||||
"skipLibCheck": true,
|
||||
"jsx": "preserve",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"allowJs": true,
|
||||
"types": [
|
||||
"bun-types" // add Bun global
|
||||
]
|
||||
}
|
||||
}
|
292
package-lock.json
generated
Normal file
292
package-lock.json
generated
Normal file
@ -0,0 +1,292 @@
|
||||
{
|
||||
"name": "wolbot",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "wolbot",
|
||||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"discord.js": "^14.14.1",
|
||||
"wake_on_lan": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/builders": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.7.0.tgz",
|
||||
"integrity": "sha512-GDtbKMkg433cOZur8Dv6c25EHxduNIBsxeHrsRoIM8+AwmEZ8r0tEpckx/sHwTLwQPOF3e2JWloZh9ofCaMfAw==",
|
||||
"dependencies": {
|
||||
"@discordjs/formatters": "^0.3.3",
|
||||
"@discordjs/util": "^1.0.2",
|
||||
"@sapphire/shapeshift": "^3.9.3",
|
||||
"discord-api-types": "0.37.61",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"ts-mixer": "^6.0.3",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/collection": {
|
||||
"version": "1.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz",
|
||||
"integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==",
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/formatters": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.3.3.tgz",
|
||||
"integrity": "sha512-wTcI1Q5cps1eSGhl6+6AzzZkBBlVrBdc9IUhJbijRgVjCNIIIZPgqnUj3ntFODsHrdbGU8BEG9XmDQmgEEYn3w==",
|
||||
"dependencies": {
|
||||
"discord-api-types": "0.37.61"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/rest": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.2.0.tgz",
|
||||
"integrity": "sha512-nXm9wT8oqrYFRMEqTXQx9DUTeEtXUDMmnUKIhZn6O2EeDY9VCdwj23XCPq7fkqMPKdF7ldAfeVKyxxFdbZl59A==",
|
||||
"dependencies": {
|
||||
"@discordjs/collection": "^2.0.0",
|
||||
"@discordjs/util": "^1.0.2",
|
||||
"@sapphire/async-queue": "^1.5.0",
|
||||
"@sapphire/snowflake": "^3.5.1",
|
||||
"@vladfrangu/async_event_emitter": "^2.2.2",
|
||||
"discord-api-types": "0.37.61",
|
||||
"magic-bytes.js": "^1.5.0",
|
||||
"tslib": "^2.6.2",
|
||||
"undici": "5.27.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/rest/node_modules/@discordjs/collection": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.0.0.tgz",
|
||||
"integrity": "sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/util": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.0.2.tgz",
|
||||
"integrity": "sha512-IRNbimrmfb75GMNEjyznqM1tkI7HrZOf14njX7tCAAUetyZM1Pr8hX/EK2lxBCOgWDRmigbp24fD1hdMfQK5lw==",
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/ws": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.0.2.tgz",
|
||||
"integrity": "sha512-+XI82Rm2hKnFwAySXEep4A7Kfoowt6weO6381jgW+wVdTpMS/56qCvoXyFRY0slcv7c/U8My2PwIB2/wEaAh7Q==",
|
||||
"dependencies": {
|
||||
"@discordjs/collection": "^2.0.0",
|
||||
"@discordjs/rest": "^2.1.0",
|
||||
"@discordjs/util": "^1.0.2",
|
||||
"@sapphire/async-queue": "^1.5.0",
|
||||
"@types/ws": "^8.5.9",
|
||||
"@vladfrangu/async_event_emitter": "^2.2.2",
|
||||
"discord-api-types": "0.37.61",
|
||||
"tslib": "^2.6.2",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/ws/node_modules/@discordjs/collection": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.0.0.tgz",
|
||||
"integrity": "sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@fastify/busboy": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz",
|
||||
"integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==",
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/async-queue": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.2.tgz",
|
||||
"integrity": "sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==",
|
||||
"engines": {
|
||||
"node": ">=v14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/shapeshift": {
|
||||
"version": "3.9.6",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.9.6.tgz",
|
||||
"integrity": "sha512-4+Na/fxu2SEepZRb9z0dbsVh59QtwPuBg/UVaDib3av7ZY14b14+z09z6QVn0P6Dv6eOU2NDTsjIi0mbtgP56g==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"lodash": "^4.17.21"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=v18"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/snowflake": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.1.tgz",
|
||||
"integrity": "sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==",
|
||||
"engines": {
|
||||
"node": ">=v14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.11.20",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz",
|
||||
"integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz",
|
||||
"integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@vladfrangu/async_event_emitter": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.4.tgz",
|
||||
"integrity": "sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==",
|
||||
"engines": {
|
||||
"node": ">=v14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/discord-api-types": {
|
||||
"version": "0.37.61",
|
||||
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.61.tgz",
|
||||
"integrity": "sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw=="
|
||||
},
|
||||
"node_modules/discord.js": {
|
||||
"version": "14.14.1",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.14.1.tgz",
|
||||
"integrity": "sha512-/hUVzkIerxKHyRKopJy5xejp4MYKDPTszAnpYxzVVv4qJYf+Tkt+jnT2N29PIPschicaEEpXwF2ARrTYHYwQ5w==",
|
||||
"dependencies": {
|
||||
"@discordjs/builders": "^1.7.0",
|
||||
"@discordjs/collection": "1.5.3",
|
||||
"@discordjs/formatters": "^0.3.3",
|
||||
"@discordjs/rest": "^2.1.0",
|
||||
"@discordjs/util": "^1.0.2",
|
||||
"@discordjs/ws": "^1.0.2",
|
||||
"@sapphire/snowflake": "3.5.1",
|
||||
"@types/ws": "8.5.9",
|
||||
"discord-api-types": "0.37.61",
|
||||
"fast-deep-equal": "3.1.3",
|
||||
"lodash.snakecase": "4.1.1",
|
||||
"tslib": "2.6.2",
|
||||
"undici": "5.27.2",
|
||||
"ws": "8.14.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/lodash.snakecase": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
|
||||
"integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
|
||||
},
|
||||
"node_modules/magic-bytes.js": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.8.0.tgz",
|
||||
"integrity": "sha512-lyWpfvNGVb5lu8YUAbER0+UMBTdR63w2mcSUlhhBTyVbxJvjgqwyAf3AZD6MprgK0uHuBoWXSDAMWLupX83o3Q=="
|
||||
},
|
||||
"node_modules/minimist": {
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/ts-mixer": {
|
||||
"version": "6.0.4",
|
||||
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz",
|
||||
"integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA=="
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "5.27.2",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz",
|
||||
"integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==",
|
||||
"dependencies": {
|
||||
"@fastify/busboy": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0"
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "5.26.5",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
|
||||
},
|
||||
"node_modules/wake_on_lan": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wake_on_lan/-/wake_on_lan-1.0.0.tgz",
|
||||
"integrity": "sha512-0QSpxny0QmsssshI6kePj6cobQPK+i8r5shfj58ZfQIUH9fUTyAaYPqZO3W/Ai7mN4vQVdTdsSGIr20M81UL6Q==",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"wake": "wake"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.14.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
|
||||
"integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
15
package.json
Normal file
15
package.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "wolbot",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.mjs",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Ninjdai",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"discord.js": "^14.14.1",
|
||||
"wake_on_lan": "^1.0.0"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user