Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
V12 Discord.js recupera user.id de las reacciones de un mensaje

Estoy luchando por recuperar en V12 de discord.js el user.id y el user.name para un mensaje que ellos también reaccionan. La idea es que se fije un mensaje y el usuario seleccione entre 1 y 7 cada día y agregue un punto a su total. También restará de su total, si anulan la selección de cualquiera de las reacciones. Pero no he escrito eso todavía. Actualmente falla con TypeError: no se puede leer la propiedad 'gremio' de undefined en const Character cuando se intenta obtener el user.id

config.json

 { "prefix":"!", "channel": "xxx", "channelID": "xxx", }

SQLite

 client.getdayCount = DB.prepare("SELECT dayCount from Table WHERE id = ?;"); client.setdayCount = DB.prepare("INSERT OR REPLACE INTO Table (id, dayCount, guild) VALUES (@id, @dayCount @guild);");

Código principal

 client.on('messageReactionAdd', addRole); client.on('messageReactionRemove', removeRole); async function addRole(message, reaction, user) { if (message.partial) { try { await message.fetch(); } catch (err) { console.error('Error fetching message', err); return; } } client.channels.cache.get(config.channelID).messages.fetch({ limit: 1 }).then(messages => { const lastMessage = messages.first() const character = reaction.message.guild.member(user.id); //Filter the reaction const addition = +1; if (lastMessage.reactions.cache.emojis === "1️⃣" || "2️⃣" || "3️⃣" || "4️⃣" || "5️⃣" || "6️⃣" || "7️⃣") { // Define the emoji user add //const character = lastMessage.guild.member(user.id); //reaction.message.guild.member(user.id); if (character) //if author has sent before { character.setdayCount += addition; client.setdayCount.run(character); return; } else //else add new author to collection { character = { id: user.id, setdayCount: addition, guild: reaction.guild.id, } } } else { }; }).catch(err => { console.error(err) }) }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Está utilizando parámetros incorrectos para su función, en discord js v12, messageReactionAdd solo tiene dos parámetros, messageReaction y user . Por lo tanto, el parámetro que llamó reaction es en realidad un objeto User que no tiene una propiedad llamada message y causa su error.

Además

 if (lastMessage.reactions.cache.emojis === "1️⃣" || "2️⃣" || "3️⃣" || "4️⃣" || "5️⃣" || "6️⃣" || "7️⃣") {

siempre será cierto, creo que lo que pretendes hacer es

 if (["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣"].includes(lastMessage.reactions.cache.emojis)) {
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!