TypeError: Cannot read property 'mentions' of undefined

Viewed 33

first time poster looking for some help, struggling to get this to work. I'm wanting to create a command which followed by a channel mention and Raw JSON will then post an embed in the mention channel. The code itself throws up no errors, until the point I initiate the command, where I get "TypeError: Cannot read property 'mentions' of undefined". Any ideas where I've gone wrong?

const DiscordJS = require('discord.js')
const WOKCommands = require('wokcommands')
require('dotenv').config();

module.exports = {
  name: "embedjson",
      category: "info",
    description: "post embed from json data",
  minArgs: 2,
  expectedArgs: '<Channel mention> <JSON>',
  run: async ({client, message, args, level }) => {
    // get the target channel
    const targetChannel = message.mentions.channels.first()
    if (!targetChannel) {
      message.reply('Please specify a channel to send the embed in')
      return
    }

    // removes the channel mention
    args.shift()

    try {
      // get the JSON data
      const json = JSON.parse(args.join(' '))
      const { text = '' } = json

      // send the embed
      targetChannel.send(text, {
        embed: json,
      })
    } catch (error) {
      message.reply(`Invalid JSON ${error.message}`)
    }
  },
}
0 Answers
Related