title: Interaction undefined discord.js slash commands
body: <p>Good evening, I am attempting to migrate my text-based commands to slash commands. I have run in to a problem when trying to get a slash command option, getting the error <code>TypeError: Cannot read properties of undefined (reading 'options')</code>. Now I know the interaction variable is being passed because my ping slash command manages to reply fine.</p>
  <p>Here is the code for the command:</p>
  <pre class="lang-js prettyprint-override"><code>execute(interaction) { // inside here command stuff
          if (interaction.options.getString('type') === 'add') {
              const data = JSON.parse(fs.readFileSync('././config.json'));
              if (data.blocked.includes(interaction.options.getMentionable('user').id())) return (interaction.reply('That person is already blocked.'));
              data.blocked.push(interaction.options.getMentionable('user').id);
              fs.writeFileSync('././config.json', JSON.stringify(data));
              interaction.reply(`Successfully blocked ${interaction.options.getMentionable('user').tag}.`);
          }
      },
  </code></pre>
  <p>And the command configuration:</p>
  <pre class="lang-js prettyprint-override"><code>data: new SlashCommandBuilder()
          .setName('block')
          .setDescription('Blocks or unblocks a user from using the bot.')
          .addStringOption(option =&gt;
              option.setName('type')
                  .setDescription('Whether to block or unblock the user.')
                  .setRequired(true)
                  .addChoice('add', 'add')
                  .addChoice('remove', 'add'))
          .addMentionableOption(option =&gt;
              option.setName('user')
                  .setDescription('The user to block or unblock.')),
  </code></pre>
  <p>And the interactionCreate event:</p>
  <pre class="lang-js prettyprint-override"><code>client.on('interactionCreate', async interaction =&gt; {
      if (!interaction.isCommand()) return;
  
      const command = client.commands.get(interaction.commandName);
  
      if (!command) return;
  
      try {
          await command.execute(interaction);
      }
      catch (error) {
          console.error(`Error executing ${command.name}:\n${error}`);
          await interaction.reply('There was an error trying to execute that command!', true);
      }
  });
  </code></pre>
  <p>Am I trying to get an option incorrectly? Does the <code>getMentionable()</code> not return a user object? What can I do to fix this error? Maybe someone less sleep-deprived can help. Thank you for any help you can provide!</p>