feat: megamind command lol

This commit is contained in:
2022-11-27 16:50:37 +01:00
parent 8ec662c61a
commit aaaf40a5f8
21 changed files with 357 additions and 51 deletions

View File

@@ -33,19 +33,19 @@ export default commandModule({
try {option = options[1].getString('usuario', true)} catch(error) {option = undefined}
if (!option) {
const imagesArray = [
'./images/XaviXE.png',
'./images/Paula.png',
'./images/William.png',
'./images/Espejito2500.png',
'./images/Wheelook.png',
'./images/MarioCabrera.png',
'./images/Paticama.png',
'./images/Vinci.png',
'./images/SrIzan.png',
'./images/ItsAdrian.png',
'./images/ByHGT.png',
'./images/Irene.png',
'./images/Boniato64.png',
'./images/a/XaviXE.png',
'./images/a/Paula.png',
'./images/a/William.png',
'./images/a/Espejito2500.png',
'./images/a/Wheelook.png',
'./images/a/MarioCabrera.png',
'./images/a/Paticama.png',
'./images/a/Vinci.png',
'./images/a/SrIzan.png',
'./images/a/ItsAdrian.png',
'./images/a/ByHGT.png',
'./images/a/Irene.png',
'./images/a/Boniato64.png',
]
const images = imagesArray[Math.floor(Math.random() * imagesArray.length)];

56
commands/fun/megamind.ts Normal file
View File

@@ -0,0 +1,56 @@
import { commandModule, CommandType } from '@sern/handler'
import { publish } from "../../src/plugins/publish.js";
import { ownerOnly } from "../../src/plugins/ownerOnly.js"
import Canvas from '@napi-rs/canvas';
import { ApplicationCommandOptionType, AttachmentBuilder } from 'discord.js';
/*
import { publish } from "../../src/plugins/publish.js";
import { ownerOnly } from "../../src/plugins/ownerOnly.js"
*/
export default commandModule({
type: CommandType.Slash,
plugins: [publish()],
// , '928018226330337280'
description: 'Añade a una imagen de megamind "No ...?"',
//alias : [],
options: [
{
name: 'texto',
description: 'El texto SIN "No" ni "?".',
type: ApplicationCommandOptionType.String,
required: true
}
],
execute: async (ctx, options) => {
const option = options[1].getString('texto', true)
if (option.length > 26) return await ctx.reply({content: `El texto es muy largo, intenta que sea menor que 26 caracteres.`, ephemeral: true})
await ctx.reply({content: 'Cargando...'})
const before = performance.now()
const canvas = Canvas.createCanvas(535, 540)
const context = canvas.getContext('2d')
const background = await Canvas.loadImage('./images/megamind/megamind.png')
context.drawImage(background, 0, 0, canvas.width, canvas.height)
const text = `No ${option}?`
context.font = '40px Arial'
context.fillStyle = 'red'
context.textAlign = 'center'
context.textBaseline = 'middle'
context.fillText(text, canvas.width / 2, canvas.height - 510)
const encode = await canvas.encode('png')
const after = performance.now()
const attachment = new AttachmentBuilder(encode, { name: 'profile-image.png' });
await ctx.interaction.editReply({
content: `Aquí está tu megamind:\nLa generación de imagen ha tardado \`${(after - before).toFixed(2)}ms\`.`,
files: [attachment]
})
},
});

View File

@@ -9,7 +9,7 @@ import { ownerOnly } from "../../src/plugins/ownerOnly.js"
export default commandModule({
name: 'ping',
type: CommandType.Slash,
plugins: [publish({ guildIds: ['1000400148289036298'] })],
plugins: [publish()],
// , '928018226330337280'
description: 'A ping command',
//alias : [],

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

View File

@@ -3,20 +3,20 @@ import { ActivityType } from 'discord.js';
import { Client, GatewayIntentBits } from 'discord.js';
import { Sern } from '@sern/handler';
import { config as dotenv } from 'dotenv';
let devMode
if (process.argv[2] === '--dev') {
devMode = true
dotenv({path: './.env.dev'})
} else {
dotenv()
}
import mongoose from 'mongoose';
import express from 'express';
import youtubenotifications from './util/youtubenotifications.js';
import { setIntervalAsync } from 'set-interval-async';
import birthdays from './util/birthdays.js';
import twitternotifications from './util/twitternotifications.js';
const app = express();
import webserver from './util/web/webserver.js'
let devMode
if (process.argv[2] === '--dev') {
devMode = true
dotenv({path: '.env.dev'})
} else {
dotenv()
}
const client = new Client({
intents: [
@@ -30,7 +30,7 @@ const client = new Client({
],
});
export const db = mongoose.connect(process.env.MONGODB!).then(() => {
mongoose.connect(process.env.MONGODB!).then(() => {
console.log('Connected to MongoDB');
});
@@ -48,6 +48,7 @@ client.on('ready', async () => {
const statuses = [
{ name: 'Minecraft', type: ActivityType.Playing },
{ name: 'cómo escribe Javi', type: ActivityType.Watching },
{ name: 'quinto libro when', type: ActivityType.Watching },
{ name: 'a Hermes', type: ActivityType.Watching },
{ name: 'tus comandos', type: ActivityType.Listening },
{ name: 'tu voz', type: ActivityType.Listening },
@@ -70,8 +71,9 @@ client.on('ready', async () => {
setIntervalAsync(async () => {
await birthdays(client);
}, 3_600_000);
webserver()
} else {
console.log('DevMode got activated, there are no checkers in this version.')
console.log('DevMode got activated, there are no checkers or webserver in this version.')
}
});
@@ -79,16 +81,4 @@ client.on('rateLimit', async () => {
console.log(`I just got ratelimited!`);
});
app.use(express.static('public'));
app.get('/', function (req, res) {
res.send(
'<p>This is the monitoring server for the Vinci discord bot!</p><br><p>If you see this, the bot is up and running.</p>'
);
});
app.listen(process.env.PORT || 7272, () =>
console.log('The webserver is listening')
);
client.login(process.env.TOKEN);

269
package-lock.json generated
View File

@@ -12,6 +12,7 @@
"@consumet/extensions": "^1.2.8",
"@discordjs/opus": "^0.9.0",
"@discordjs/voice": "^0.13.0",
"@napi-rs/canvas": "^0.1.30",
"@sern/handler": "^1.2.1",
"axios": "^1.0.0",
"dayjs": "^1.11.6",
@@ -21,12 +22,12 @@
"dotenv": "^16.0.1",
"express": "^4.18.1",
"got": "^11.8.5",
"libsodium-wrappers": "^0.7.10",
"mongoose": "^6.5.1",
"pretty-seconds-spanish": "^2.1.0",
"rockpaperscissors-checker": "^1.1.5",
"set-interval-async": "^3.0.2",
"systeminformation": "^5.12.6",
"tweetnacl": "^1.0.3"
"systeminformation": "^5.12.6"
},
"devDependencies": {
"@types/express": "^4.17.14",
@@ -291,6 +292,164 @@
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
"node_modules/@napi-rs/canvas": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.30.tgz",
"integrity": "sha512-XRR6PumJW9GdODD+HFW7ZKmpq7FE6PIKWn7QTcsJUdGNb54fTS1Z47oPFZ3pbvs07Xs8ZnkR03Q/9T3LfkGRgg==",
"engines": {
"node": ">= 10"
},
"optionalDependencies": {
"@napi-rs/canvas-android-arm64": "0.1.30",
"@napi-rs/canvas-darwin-arm64": "0.1.30",
"@napi-rs/canvas-darwin-x64": "0.1.30",
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.30",
"@napi-rs/canvas-linux-arm64-gnu": "0.1.30",
"@napi-rs/canvas-linux-arm64-musl": "0.1.30",
"@napi-rs/canvas-linux-x64-gnu": "0.1.30",
"@napi-rs/canvas-linux-x64-musl": "0.1.30",
"@napi-rs/canvas-win32-x64-msvc": "0.1.30"
}
},
"node_modules/@napi-rs/canvas-android-arm64": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.30.tgz",
"integrity": "sha512-RaJvfg5x8QV+3WVqxwi1dt05mqiDuQF/w4wj8b6SHbxbVLfzZ5T0M9PFBTvjNU88GxiiVYUihxJeCCDs1sXP0g==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-darwin-arm64": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.30.tgz",
"integrity": "sha512-ZWW7+YYGFREzeV1uoGv0uUx+0OhGd5jQ6zFdaGYFESUjmLlfZ/LS0CG/IlbWDiWbnRPu2HQl0/TOQHurleJjLw==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-darwin-x64": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.30.tgz",
"integrity": "sha512-DThro7Y3QFV/9bl/EORWXzBMXeIZU1jo80oI8Ha2Xsoy3Eq+wHhnlMyvNYcLjalxIFU/JJrzu6/qxjPaVzcw5A==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.30.tgz",
"integrity": "sha512-bMz85lH3y2JL7Xf8szu/EayyEffN2FSAUtxOm6U3/MLc7jW2Pt8TRhAQQxnv0zNh8ub7qBDky+LspMBPLTDRzA==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-linux-arm64-gnu": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.30.tgz",
"integrity": "sha512-KHUVFOaG7wE4/GGTLk434GH7DIhPa7hhfMyzLqU1QFRXzjo0KIyO9gecHEF9snXaqvD4c/8YubEtFbWZVMSKUw==",
"cpu": [
"arm64"
],
"hasInstallScript": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-linux-arm64-musl": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.30.tgz",
"integrity": "sha512-9ckRCQbt/ZVNbHvApKhvaRM+mahMl4xryV0vUEKgFHo8Fm4j56dPZRWeKojmk1vSGC9ahY73K1MEb0OaIxOv0Q==",
"cpu": [
"arm64"
],
"hasInstallScript": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-linux-x64-gnu": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.30.tgz",
"integrity": "sha512-NSyhCClsTBs06ViivDU0lSGVTDBBtm3pSTQKZseAnBEEF0vuO4De5SJl4JYng9eSDQ6KqA4TkOZFUMxokP6ZVg==",
"cpu": [
"x64"
],
"hasInstallScript": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-linux-x64-musl": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.30.tgz",
"integrity": "sha512-hT3sPij6nHKiH10avrd8MNwLYEBzwiVyzA0nxPosGJ+ErWk1tgE4UeM3w1+BWYK3S/wgY/4WlhxDgsd9crUGRA==",
"cpu": [
"x64"
],
"hasInstallScript": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@napi-rs/canvas-win32-x64-msvc": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.30.tgz",
"integrity": "sha512-6MwkIMd53jNqO+KAvv2A7TtMY1MYE51VCdF7sZ61sypgjB/dOYmYqDgAU/RTHS5agyc0CZUeXoaZT43Lkgk67A==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@sapphire/async-queue": {
"version": "1.5.0",
"license": "MIT",
@@ -1747,6 +1906,19 @@
"json-buffer": "3.0.1"
}
},
"node_modules/libsodium": {
"version": "0.7.10",
"resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz",
"integrity": "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ=="
},
"node_modules/libsodium-wrappers": {
"version": "0.7.10",
"resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz",
"integrity": "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==",
"dependencies": {
"libsodium": "^0.7.0"
}
},
"node_modules/lodash": {
"version": "4.17.21",
"license": "MIT"
@@ -3019,11 +3191,6 @@
"node": "*"
}
},
"node_modules/tweetnacl": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
},
"node_modules/type-is": {
"version": "1.6.18",
"license": "MIT",
@@ -3378,6 +3545,76 @@
"@jridgewell/sourcemap-codec": "^1.4.10"
}
},
"@napi-rs/canvas": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.30.tgz",
"integrity": "sha512-XRR6PumJW9GdODD+HFW7ZKmpq7FE6PIKWn7QTcsJUdGNb54fTS1Z47oPFZ3pbvs07Xs8ZnkR03Q/9T3LfkGRgg==",
"requires": {
"@napi-rs/canvas-android-arm64": "0.1.30",
"@napi-rs/canvas-darwin-arm64": "0.1.30",
"@napi-rs/canvas-darwin-x64": "0.1.30",
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.30",
"@napi-rs/canvas-linux-arm64-gnu": "0.1.30",
"@napi-rs/canvas-linux-arm64-musl": "0.1.30",
"@napi-rs/canvas-linux-x64-gnu": "0.1.30",
"@napi-rs/canvas-linux-x64-musl": "0.1.30",
"@napi-rs/canvas-win32-x64-msvc": "0.1.30"
}
},
"@napi-rs/canvas-android-arm64": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.30.tgz",
"integrity": "sha512-RaJvfg5x8QV+3WVqxwi1dt05mqiDuQF/w4wj8b6SHbxbVLfzZ5T0M9PFBTvjNU88GxiiVYUihxJeCCDs1sXP0g==",
"optional": true
},
"@napi-rs/canvas-darwin-arm64": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.30.tgz",
"integrity": "sha512-ZWW7+YYGFREzeV1uoGv0uUx+0OhGd5jQ6zFdaGYFESUjmLlfZ/LS0CG/IlbWDiWbnRPu2HQl0/TOQHurleJjLw==",
"optional": true
},
"@napi-rs/canvas-darwin-x64": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.30.tgz",
"integrity": "sha512-DThro7Y3QFV/9bl/EORWXzBMXeIZU1jo80oI8Ha2Xsoy3Eq+wHhnlMyvNYcLjalxIFU/JJrzu6/qxjPaVzcw5A==",
"optional": true
},
"@napi-rs/canvas-linux-arm-gnueabihf": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.30.tgz",
"integrity": "sha512-bMz85lH3y2JL7Xf8szu/EayyEffN2FSAUtxOm6U3/MLc7jW2Pt8TRhAQQxnv0zNh8ub7qBDky+LspMBPLTDRzA==",
"optional": true
},
"@napi-rs/canvas-linux-arm64-gnu": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.30.tgz",
"integrity": "sha512-KHUVFOaG7wE4/GGTLk434GH7DIhPa7hhfMyzLqU1QFRXzjo0KIyO9gecHEF9snXaqvD4c/8YubEtFbWZVMSKUw==",
"optional": true
},
"@napi-rs/canvas-linux-arm64-musl": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.30.tgz",
"integrity": "sha512-9ckRCQbt/ZVNbHvApKhvaRM+mahMl4xryV0vUEKgFHo8Fm4j56dPZRWeKojmk1vSGC9ahY73K1MEb0OaIxOv0Q==",
"optional": true
},
"@napi-rs/canvas-linux-x64-gnu": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.30.tgz",
"integrity": "sha512-NSyhCClsTBs06ViivDU0lSGVTDBBtm3pSTQKZseAnBEEF0vuO4De5SJl4JYng9eSDQ6KqA4TkOZFUMxokP6ZVg==",
"optional": true
},
"@napi-rs/canvas-linux-x64-musl": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.30.tgz",
"integrity": "sha512-hT3sPij6nHKiH10avrd8MNwLYEBzwiVyzA0nxPosGJ+ErWk1tgE4UeM3w1+BWYK3S/wgY/4WlhxDgsd9crUGRA==",
"optional": true
},
"@napi-rs/canvas-win32-x64-msvc": {
"version": "0.1.30",
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.30.tgz",
"integrity": "sha512-6MwkIMd53jNqO+KAvv2A7TtMY1MYE51VCdF7sZ61sypgjB/dOYmYqDgAU/RTHS5agyc0CZUeXoaZT43Lkgk67A==",
"optional": true
},
"@sapphire/async-queue": {
"version": "1.5.0"
},
@@ -4403,6 +4640,19 @@
"json-buffer": "3.0.1"
}
},
"libsodium": {
"version": "0.7.10",
"resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz",
"integrity": "sha512-eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ=="
},
"libsodium-wrappers": {
"version": "0.7.10",
"resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz",
"integrity": "sha512-pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==",
"requires": {
"libsodium": "^0.7.0"
}
},
"lodash": {
"version": "4.17.21"
},
@@ -5225,11 +5475,6 @@
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
},
"type-is": {
"version": "1.6.18",
"requires": {

View File

@@ -30,6 +30,7 @@
"@consumet/extensions": "^1.2.8",
"@discordjs/opus": "^0.9.0",
"@discordjs/voice": "^0.13.0",
"@napi-rs/canvas": "^0.1.30",
"@sern/handler": "^1.2.1",
"axios": "^1.0.0",
"dayjs": "^1.11.6",
@@ -39,12 +40,12 @@
"dotenv": "^16.0.1",
"express": "^4.18.1",
"got": "^11.8.5",
"libsodium-wrappers": "^0.7.10",
"mongoose": "^6.5.1",
"pretty-seconds-spanish": "^2.1.0",
"rockpaperscissors-checker": "^1.1.5",
"set-interval-async": "^3.0.2",
"systeminformation": "^5.12.6",
"tweetnacl": "^1.0.3"
"systeminformation": "^5.12.6"
},
"devDependencies": {
"@types/express": "^4.17.14",

14
util/web/webserver.ts Normal file
View File

@@ -0,0 +1,14 @@
import express from 'express'
export default function webserver() {
const app = express()
app.get('/', function (req, res) {
res.send(
'<p>This is the monitoring server for the Vinci discord bot!</p><br><p>If you see this, the bot is up and running.</p>'
);
});
app.listen(process.env.PORT || 7272, () =>
console.log('The webserver is listening')
);
}