Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
Marca de tiempo y nombre de Discord Rich Presence

Estoy creando un bot de discordia en JS que cuando se llama al comando dice "El usuario ha estado jugando GameName durante horas". Actualmente, mi código funciona si el usuario mencionado está jugando un juego que carece de soporte de presencia enriquecido, pero si se llama a un juego como League of legends junto con el usuario, aparece el error TypeError: Cannot read property 'presence' of undefined . Si bien sé lo que esto significa, es la forma en que hago referencia a la presencia del usuario mencionado que se encuentra en el código a continuación.

 const { Client, Intents } = require('discord.js'); module.exports = { name: 'test', aliases: [], category: 'test', utilisation: '', execute(client, message, presence, guild) { let msgMention = message.mentions.members.first() let mp = msgMention.presence.activities[0] if (msgMention.presence.activities[0].name == "Spotify"){ var imgvar = mp.assets.largeImage var imgvar = imgvar.replace('spotify:','') message.channel.send({ embed: { color: '1DB954', title: `${msgMention.displayName} is listening to ${mp.assets.largeText} for some reason`, image: { url: `https://i.scdn.co/image/${imgvar}` }, }, }); } else if (mp.name == "League of Legends") { const n = new Date(); console.log(n) const g = mp.timestamps.start; if (g <= 0) { return; } const hours = Math.abs(n - g) / 36e5; const minutes = hours.toFixed(2) message.channel.send(`${msgMention.displayName} has been wasting his life playing ${mp.name} for ${minutes} hours`); } else { const n = new Date(); console.log(n) const g = mp.timestamps.start; if (g <= 0) { return; } const hours = Math.abs(n - g) / 36e5; const minutes = hours.toFixed(2) message.channel.send(`${msgMention.displayName} has been playing ${mp.name} for ${minutes} hours`); } }, };

Las matemáticas funcionan calculando el tiempo, junto con el comando separado de spotify que también funciona, pero league of legends simplemente no funciona debido a que tiene un soporte de presencia enriquecido, ¿cómo puedo corregir este error para hacer referencia a juegos normales de presencia no enriquecida mientras presencia enriquecida? los juegos todavía toman el nombre de la actividad

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Actividad del usuario

 let member = message.mentions.members.first() || message.guild.members.cache.get(args[1]) || message.guild.member(message.author) const embed = new Discord.MessageEmbed() if (!member.presence.activities || member.presence.activities.length == 0) { embed.addField('⚽️ Activity:', 'Not playing anything') } else { const activity = member.presence.activities[0]; embed.addField('⚽️ Activity:', `${activity.type} ${activity.name}\n${activity.details}\n${activity.state}`); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda