Estoy haciendo un comando de informe y obtengo este error

reportsChannel.send(`**${message.author.username}** has reported **${target.user.username}** for 
                ^
**${reason}**.`);
TypeError: Cannot read property 'send' of undefined

Este error solo ocurre cuando estoy en un servidor diferente al canal donde se almacenan todos los informes.

Aquí está mi código:

 switch(args[0]){
        case 'report':
            let target = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
            if(!target) return message.channel.send('Please provide a user that you wish to report').then(m => m.delete({timeout: 15000}));

            var reason = args.slice(2).join(" ");
            if(!reason) return message.channel.send(`Please provide a reason for reporting **${target.user.username}**`).then(m => m.delete({timeout: 15000}));
   
            let reportsChannel = message.guild.channels.cache.find(x => x.id === "747697771594645566")
   
            if(args[1] === target, args[2] === reason){
                message.channel.send('Your report has been filled to the staff team. Thank you for reporting!')
                reportsChannel.send(`**${message.author.username}** has reported **${target.user.username}** for **${reason}**.`);
            }
        break;
      };

¿Algúna idea de cómo arreglar esto? Gracias

0
Khaira Denisa 26 ago. 2020 a las 03:10

1 respuesta

La mejor respuesta

Permítanme hacer una aclaración, en un servidor diferente no puede obtener su gremio a través de message.guild volverá al servidor donde está ... Entonces, cambia esto:

let reportsChannel = message.guild.channels.cache.find(x => x.id === "747697771594645566")

A esto:

let reportsChannel = client.channels.cache.find(x => x.id === "747697771594645566")
-1
Mineko Kayui 26 ago. 2020 a las 00:38