I'm trying to make my discord bot play music for my discord server (in light of groovy shutting down).

But when I tried to get it to join using `message.members.voice.join()` it always returns undefined, even when I'm in a discord voice channel. I've left and rejoined the call, and restarted the bot, but nothing has worked.

```js
const ytdl = require('ytdl-core');
const ytSearch = require('yt-search');

module.exports = {
  name: 'play',
  description: 'Joins and plays a video from youtube',
  async execute(message, args) {
    const { voiceChannel } = message.member.voice;

    if (!voiceChannel) return message.channel.send('Join a Voice-Channel to use this command');
    const permissions = voiceChannel.permissionsFor(message.client.user);
    if (!permissions.has('CONNECT')) return message.channel.send('You dont have the correct permissins');
    if (!permissions.has('SPEAK')) return message.channel.send('You dont have the correct permissins');
    if (!args.length) return message.channel.send('You need to send the second argument!');

    const connection = await voiceChannel.join();

    const videoFinder = async (query) => {
      const videoResult = await ytSearch(query);

      return (videoResult.videos.length > 1) ? videoResult.videos[0] : null;

    }

    const video = await videoFinder(args.join(' '));

    if (video) {
      const stream = ytdl(video.url, { filter: 'audioonly' })
      connection.play(stream, { seek: 0, volume: 1 });

    }
  }
}

```