Estoy tratando de hacer un comando de discordia que almacene los datos del usuario en una API. El sistema se ve así: El usuario ejecuta el comando -> La etiqueta del usuario se almacena en la API y desde allí podría manejarla desde otro lugar. Mi problema es que después de que los datos se guardan una vez, no los modifica cuando otro usuario ejecuta el comando.
Intenté hacer res.send() para actualizarlo y busqué soluciones en la web, pero ninguna funcionó.
Aquí está mi código:
const express = require('express'); const app = express(); app.use(express.json()); const { Client } = require('discord.js'); const client = new Client({ intents: 32767 }); client.on('ready', () => { console.log('client is now ready') }) client.on('messageCreate', (msg) => { if (msg.author.bot) return; if (msg.content === 'hey') { app.get('/', (req, res) => { res.send(`User interacted: ${msg.author.tag}`); }) } }); client.login(token)PD: No quiero usar ningún programa como Postman, etc.
Para que el autor más anterior aparezca en la solicitud de obtención, debe almacenar ese valor. Los app.get / app.post /etc.. están definiendo lo que el servidor debe enviar cuando se alcanza una ruta en particular. No se utilizan para almacenar ningún dato. Para resolver este problema en particular, simplemente puede hacer algo como esto:
const express = require('express'); const app = express(); app.use(express.json()); const { Client } = require('discord.js'); const client = new Client({ intents: 32767 }); let previousUser = ''; app.get('/', (req, res) => { res.send(`User interacted: ${previousUser}`); }) client.on('ready', () => { console.log('client is now ready') }) client.on('messageCreate', (msg) => { if (msg.author.bot) return; if (msg.content === 'hey') { previousUser = msg.author.tag; } }); client.login(token) Este código guardará el autor de los mensajes anteriores en una variable usuario previousUser cada vez que se reciba un mensaje que tenga el contenido 'hey'. A partir de ahí, cada vez que ejecute una solicitud de obtención en la ruta '/' , mostrará a ese usuario.
Hay muchas formas diferentes de almacenar datos, ya sea en la memoria (como arriba), en una base de datos o escritos en un archivo. Le sugiero que lea sobre express , rest apis y NodeJS antes de agregar una lógica más complicada a este programa.