discord.py on member join not working code example

Example 1: on_member_join not working

import discord

intents = discord.Intents.default()
intents.members = True

from discord.ext import commands

bot = commands.Bot(command_prefix='!', intents=intents)

Example 2: on_member_join not working

intents = discord.Intents.default()
intents.members = True

bot = discord.Client(intents=intents)

Example 3: discord py join and leave call

# Join command, joins the voice channel of whoever sent the command
@bot.command()
	async def join(context):
        channel = context.author.voice.channel
        await channel.connect()

# Leave command, leaves the voice channel
@bot.command()
    async def leave(context):
        await context.voice_client.disconnect()

# Note that these are made to be run in main and not a cog, 
# will still work in cog with minor edits