TypeError: Cannot read properties of null (reading ‘id’) [closed]

So, I’m trying to make a discord forums moderating bot. I honestly have no idea how the new discord.js works? Last time i coded a discord bot was like 2 yrs ago and I’m using the same functions as my old bot, but now its not working

Below is my index.js

const {
  Client,
  GatewayIntentBits,
  SlashCommandBuilder,
  Routes,
} = require('discord.js');
const { REST } = require('@discordjs/rest');

const TOKEN = 'your-bot-token-here'; // Put your bot token here

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMessages,
    GatewayIntentBits.MessageContent,
    GatewayIntentBits.GuildMembers,
  ],
});

const commands = [
  new SlashCommandBuilder()
    .setName('modlog')
    .setDescription('Sets the modlog channel')
    .addChannelOption((option) =>
      option
        .setName('channel')
        .setDescription('The channel to log moderation actions')
        .setRequired(true),
    ),
].map((command) => command.toJSON());

const rest = new REST({ version: '10' }).setToken(TOKEN);

(async () => {
  try {
    console.log('Started refreshing application (/) commands.');

    await rest.put(Routes.applicationCommands(client.user.id), {
      body: commands,
    });

    console.log('Successfully reloaded application (/) commands.');
  } catch (error) {
    console.error(error);
  }
})();

let modLogChannelId = null;

client.once('ready', () => {
  console.log(`Logged in as ${client.user.tag}`);
});

client.on('interactionCreate', async (interaction) => {
  if (!interaction.isCommand()) return;

  const { commandName, options, member } = interaction;

  if (commandName === 'modlog') {
    if (!member.permissions.has('Administrator')) {
      await interaction.reply({
        content: 'You do not have permission to use this command.',
        ephemeral: true,
      });
      return;
    }

    modLogChannelId = options.getChannel('channel').id;
    await interaction.reply(
      `Moderation log channel set to <#${modLogChannelId}>`,
    );
  }
});

const logAction = async (message) => {
  if (modLogChannelId) {
    const logChannel = await client.channels.fetch(modLogChannelId);
    logChannel.send(message);
  }
};

// Event listeners for forum actions
client.on('threadCreate', (thread) => {
  if (thread.parent && thread.parent.type === 'GUILD_FORUM') {
    logAction(`Forum created: ${thread.name} by ${thread.owner.user.tag}`);
  }
});

client.on('threadUpdate', (oldThread, newThread) => {
  if (newThread.parent && newThread.parent.type === 'GUILD_FORUM') {
    if (oldThread.archived !== newThread.archived && newThread.archived) {
      logAction(
        `Forum archived: ${newThread.name} by ${newThread.owner.user.tag}`,
      );
    }
    if (oldThread.locked !== newThread.locked && newThread.locked) {
      logAction(
        `Forum locked: ${newThread.name} by ${newThread.owner.user.tag}`,
      );
    }
  }
});

client.on('threadDelete', (thread) => {
  if (thread.parent && thread.parent.type === 'GUILD_FORUM') {
    logAction(`Forum deleted: ${thread.name} by ${thread.owner.user.tag}`);
  }
});

client.login(TOKEN);

When you run this it says, TypeError: cannot read properties of null (reading ‘id’)

at index.js:33:52