Title: Python: Discord bot voice chat no longer functioning
Tags: python,discord,voice

Question: My Discord voice chat bot was working for 2 years. As of earlier this week the bot connects to discord fine, however it doesn't play any audio.
The purpose of the bot is to look for "$Hello" message in the Discord text chat channels, then connects to voice chat and play Hello.mp3 file over voice chat.
I run this bot on two different servers and both stopped working at the same time.
I've used a few print commands and I can see it hangs on this line of code without any errors, but it also doesn't print "test Hello 2"
vc = await voice_channel.connect()

Full code:
import os
import discord
from discord.ext.commands import Bot
from discord.ext import commands
from datetime import datetime as dt
from time import strftime
from discord.ext import tasks
import asyncio

TOKEN = 'xxxxxxxxxxxxxx' ### This is the discord unique token for the bot to work ###
client = discord.Client()
voiceChannelId = 57575757575 ###This is the voice channel ID the bot connects to in order to play MP3s ###
#bot = commands.Bot('.')
#DISCORD_TOKEN = os.getenv("DISCORD_TOKEN")


###### When the code executes, the bot is in the on_ready state and goes to playSounds() #####
##### This code is not used in this part of the code but left it in just in case ####
@client.event
async def on_ready():
        await asyncio.sleep(1)
        print('We have logged in as {0.user}'.format(client))
        playSounds.start()
        
##### Voice chat connection ####
@client.event
async def join(ctx):
    channel = ctx.author.voice.channel
    await channel.connect()

###### looks for Messages anywhere in discord that contain "$Hello" #######
@client.event
async def on_message(message):
    if (message.content == "$Hello"):
                print('starting Hello()')
                voice_channel = client.get_channel(voiceChannelId)
                try:
                        print('test Hello 1')
                        global vc
                        vc = await voice_channel.connect()
                        print('test Hello 2') ##### This is not printing, suspect line above is hanging ###
                        vc.play(discord.FFmpegPCMAudio(source='/root/Desktop/Discord/Code/mp3/Hello.mp3'))
                        vc.source = discord.PCMVolumeTransformer(vc.source)
                        vc.source.volume = 1
                        while vc.is_playing():
                           await asyncio.sleep(1)
                        print('test Hello 3')
                
                except:
                        print('test Hello 4')
                        if (vc.is_connected() == True):
                                vc.play(discord.FFmpegPCMAudio(source='/root/Desktop/Discord/Code/mp3/Hello.mp3'))
                                vc.source = discord.PCMVolumeTransformer(vc.source)
                                vc.source.volume = 1
                                while vc.is_playing():
                                    await asyncio.sleep(1)
                                print('Test Hello 5')
                await message.channel.send("testing audio.")

Tried updating:
python3 -m pip install -U discord.py.
python3 -m pip install -U discord.py[voice]
and updating python as well.
EDIT: I even tried getting ChatGPT to get this working with 10 different variations of my code.. no help there. AI suggests there might be a recent change in Discord API or something, but can't tell me any more.
My server and bots have correct permissions, nothing has changed there, but I still triple checked..
EDIT 2:
I used pip install -U discord and it worked!!!! For a single day..
Now we're back to hanging on vc = await voice_channel.connect() again..
I'm truly at a loss.

Answer: Make sure your library is up to date, discord made a change recently. It worked for me.
Note that I'm updating discord, not discord.py:
pip install -U discord