Ошибка: не удается прочитать отправку свойства из неопределенного? - PullRequest
0 голосов
/ 24 февраля 2020

Эй, у меня проблема, когда я хочу отправить сообщение указанному c идентификатору пользователя, указанному в аргументах, и затем у меня появляется ошибка, я показываю вам:


Код:

client.on('message', message => {
            const messageArray = message.content.split(" ");
            let cmd = messageArray[0];
            let args = messageArray.slice(1);
            if (cmd == prefix + 'reserve'){
                if(message.author.id != owner) return;
                message.delete()
                const User = client.fetchUser(args);
                message.User.send("**Votre commande a été réservé avec succès par " + message.author.username + ", si votre commande a été reserver 2 fois ou vous n'avez même pas commander, merci de nous contacter en nous informant le nom du deuxième vendeur.**");
                message.author.send("***Succès !***\n**Vous avez bien reservé la commande " + args + " de " + User.username + ".**\n**Une fois que vous avez le stuff nécessaire faites ?ready " + iddumek + ".**");
                var reserver_embed = new Discord.RichEmbed()
                    .setAuthor("  BackGround | Market  ")
                    .setTimestamp(message.createdAt)
                        .setColor("RANDOM")
                        .addBlankField()
                        .addField("**Commande de " + message.author.username + "**", '**Articles: \n' + args + ' rubis.**\n**La commande a été reservé avec succès par ' + message.author.username + ' merci de ne pas la reservé sous peine de sanction.**')
                client.channels.get(`680899995016232970`).sendEmbed(reserver_embed);
                }       
                });

Ошибка:

TypeError: Cannot read property 'send' of undefined
    at Client.<anonymous> (c:\Users\pc\Documents\Bots Discord\BackGround Market\index.js:79:30)
    at Client.emit (events.js:205:15)
    at MessageCreateHandler.handle (c:\Users\pc\Documents\Bots Discord\BackGround Market\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
    at WebSocketPacketManager.handle (c:\Users\pc\Documents\Bots Discord\BackGround Market\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65)
    at WebSocketConnection.onPacket (c:\Users\pc\Documents\Bots Discord\BackGround Market\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (c:\Users\pc\Documents\Bots Discord\BackGround Market\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (c:\Users\pc\Documents\Bots Discord\BackGround Market\node_modules\discord.js\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:200:13)
    at Receiver.receiverOnMessage (c:\Users\pc\Documents\Bots Discord\BackGround Market\node_modules\discord.js\node_modules\ws\lib\websocket.js:789:20)
    at Receiver.emit (events.js:200:13)
index.js:79

Извините за ошибку engli sh, я француз.
Спасибо за помощь !

1 Ответ

1 голос
/ 24 февраля 2020

https://discord.js.org/# / docs / main / stable / class / Message

message.User.send("...");
message.author.send("...");

См. Документацию по Discord. js. Объект сообщения имеет атрибут author, но не имеет атрибута для User. Вот почему вы получаете ошибку undefined.

Вы ранее сделали

const User = client.fetchUser(args);

, поэтому вы, вероятно, хотели написать:

User.send("...");

https://discord.js.org/# / docs / main / stable / class / Client? ScrollTo = fetchUser

fetchUser ожидает id, поэтому вам нужно будет указать id при вызове бота с помощью команды чата .

...