Не удается преобразовать undefined или null? - PullRequest
1 голос
/ 18 июня 2020
const Discord = require('discord.js');
const randomPuppy = require('random-puppy');
const subreddits = [
"memes",
"DeepFriedMemes",
"bonehurtingjuice",
"surrealmemes",
"dankmemes",
"meirl",
"me_irl",
"funny"
]

exports.exec = (client, message, args, user) => {
    var randSubreddit = subreddits[Math.round(Math.random() * (subreddits.length - 1))];

    randomPuppy(randSubreddit)
        .then(url => {
            const embed = new Discord.RichEmbed()
                .setFooter(`${randSubreddit} ● Subreddit`)
                .setDescription(`[Image URL](${url})`)
                .setImage(url)
                .setColor(0);
            return message.channel.send({ embed });
        })

};

Эй, ребята, кодирование разногласий осталось позади примерно через год go, и я вернулся к этой ошибке (заголовок). Она работала вполне нормально год а go, а теперь ничего. (Ничего не менял). Я немного сбит с толку, как и почему это сейчас происходит.

Любая помощь приветствуется, поскольку я понятия не имею.

Заранее спасибо :)

Edit - Discord не запущен. js v12, поэтому RichEmbed все еще применяется. :)

[unhandledRejection]
TypeError: Cannot convert undefined or null to object
    at Function.entries (<anonymous>)
    at module.exports (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\node_modules\lowercase-kevs\index.js:5:36)
    at normalizeArguments (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\node_modules\random-puppy\node_modules\got\index.js:222:5)
    at got (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\node_modules\random-puppy\node_modules\got\index.js:302:20)
    at randomPuppy (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\node_modules\random-puppy\index.js:31:12)
    at module.exports (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\node_modules\random-puppy\index.js:67:16)
    at Object.exports.exec (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\commands\image-fetch\meme.js:17:9)
    at module.exports (C:\Users\worrit\Downloads\Peepo_Redacted\Peepo_Revive\handlers\commandHandler.js:299:34)
[/unhandledRejection]

Ответы [ 2 ]

1 голос
/ 18 июня 2020
const Discord = require('discord.js');
const randomPuppy = require('random-puppy');
const subreddits = [
    "memes",
    "DeepFriedMemes",
    "bonehurtingjuice",
    "surrealmemes",
    "dankmemes",
    "meirl",
    "me_irl",
    "funny"
]

exports.exec = (client, message, args, user) => {
    var randSubreddit = subreddits[Math.round(Math.random() * (subreddits.length - 1))];
    randomPuppy(randSubreddit)
        .then(url => {
            const embed = new Discord.RichEmbed()
                .setFooter(`${randSubreddit} ● Subreddit`)
                .setDescription(`[Image URL](${url})`)
                .setImage(url)
                .setColor(0);
            message.channel.send({embed});
        })

};
0 голосов
/ 18 июня 2020

Проблема в этой строке. embed не определено.

        return message.channel.send({ embed });

Если это работало в прошлом и только недавно перестало работать, то я подозреваю, что это одно из двух; Один из субреддитов в вашем массиве больше не существует или api устарел.

Вы можете отладить это, добавив console.log(embed) перед оператором return, а затем один за другим удалите каждый вызов .function () пока встраивание больше не будет === undefined.

Может также снова стоить npm install каждый пакет.

...