Ошибка при отправке встроенного сообщения, когда бот размещен на сервере - PullRequest
0 голосов
/ 22 апреля 2020

(node:24) UnhandledPromiseRejectionWarning: TypeError: fields.flat is not a function

Кто-нибудь знает, как исправить эту ошибку при размещении бота на сервере, потому что ошибка появляется, когда новый пользователь присоединяется к серверу disord, и обычно бот отправляет приветственное сообщение embed dm но теперь он просто дает мне эту ошибку, когда я запускаю бота на моем p c, он работает совершенно нормально, а когда я использую версию без встраивания, он также работает на сервере, так что это связано с сообщением встраивания.

Весь мой код между прочим:

const Discord = require('discord.js');
const { prefix, token } = require('./config.json');
const client = new Discord.Client();

client.on('ready', () => {
    console.log('Ready!');
    client.user.setPresence({ activity: { name: 'with servers!?' }, status: 'online' })
})

client.on("guildMemberAdd", member => {
    try {
        const Embed = {
            color: 0x0099ff,
            title: 'Welcome!',
            url: 'https://potatohost.cc',
            description: 'We offer Budget Minecraft, Minecraft Bedrock, Rust, Deticated Servers, Discord Bot and VPS Servers. We also sell domains and web designs!',
            thumbnail: {
                "url": 'attachment://ironnode.png',
            },
            fields: [
                {
                    name: `Hey!`,
                    value: `I want to help you and so my question is: Do you want to buy a server or do you need more information first? \n
                    A: I want to buy a server
                    B: I need more information first \n
                    Please react to this message with A or B.`,
                },
            ],
            image: {
                url: "attachment://ironnode.png",
            },
            timestamp: new Date(),
            footer: {
                text: 'Have a great time!',
                icon_url: "attachment://ironnode.png",
            },
        };

        member.send({ embed: Embed, files: [{
            attachment:'/home/container/ironnode.png',
            name:'ironnode.png'
          }] })

        .then(function (message) {
            message.react("?")
            message.react("?")
            const filter = (reaction, user) => {
                return ['?', '?'].includes(reaction.emoji.name) && user.id === member.id;
        };

        message.awaitReactions(filter, { max: 1 })
                .then(collected => {
                    const reaction = collected.first();

                    if (reaction.emoji.name === '?') {
                        const Embed = {
                            color: 0x0099ff,
                            description: 'Ok, so you want to buy a server. Let me recommend you to create a ticket in <#700601793750499348>.',
                        };
                        message.channel.send({ embed: Embed })
                    }
                    else {
                        const Embed = {
                            color: 0x0099ff,
                            description: 'Ok, so you need more information first. Let me recommend you to visit <#700610172879634472>.',
                        };
                        message.channel.send({ embed: Embed })
                    }    
                })
        });
    }catch (err) {
         console.log(err)
    }
})

client.on('message', message => {
    if (message.content === `${prefix}ping`) {
        message.channel.send('Pong.');
    }
});

client.login(token);

1 Ответ

0 голосов
/ 22 апреля 2020

Убедитесь, что ваша версия NodeJS выше v12: https://nodejs.org/

...