#javascript #discord #discord.js
#javascript #Discord #discord.js
Вопрос:
Я получаю сообщение об ошибке Cannot read property 'channel' of undefined
при попытке запустить (префиксный) мем. Приветствуется любой, кто может помочь.
const randomPuppy = require('random-puppy');
const Discord = require('discord.js');
const Command = require('./command');
module.exports = class extends Command {
name = 'meme';
async execute(client, msg, ...args) {
const subReddits = ["dankmemes", "meme", "memes"]
const random = subReddits[Math.floor(Math.random() * subReddits.length)]
const img = await randomPuppy(random);
const meme = new Discord.MessageEmbed()
.setImage(img)
.setTitle(`Your meme. From r/${random}`)
.setURL(`https://reddit.com/r/${random}`)
.setColor("RANDOM")
await msg.channel.send(meme);
}
}
У меня нет больше подробностей, чтобы сообщить их.
Комментарии:
1.
msg
не определено. Все просто.2. Пожалуйста, убедитесь, что параметры правильно размещены в вашем обратном вызове.
3. У вас есть индексный файл, в котором вызывается команда? Похоже, это центральное место проблемы.
Ответ №1:
При доступе к свойству объекта синтаксис таков objA.propX
, не так ли? В сообщении об ошибке говорится, что objA
это undefined
так, и вы в основном делаете undefined.propX
, на что он жалуется «Не может прочитать».
В этом случае msg.channel
.
Ответ №2:
Проверьте аргумент, вызванный msg
в execute
функции. Возможно, вы забыли передать его в функцию или это буквально undefined
.
Комментарии:
1. Мой command-handler.js pastebin.com/qbycArbT Так неужели я упускаю это из виду?
2. Это так
undefined
. Извините, я не знаю весь ваш код, чтобы помочь проверить.