Всем доброго времени суток. Простой бот для discord, единственная его функция приветствовать зашедших в голосовой канал пользователей. Без использования PyQt5, бот работает без ошибок и как положено. После того как прикрутил интерфейс, он всё так же запускается с помощью button, но функция приветствия перестает реагировать. Как я понимаю проблема с отправкой сигнала из дискорда, но куда двигаться дальше не пойму.


main.py

  import os
import sys
import json
import asyncio
import discord
from PyQt5 import QtWidgets
from discord.ext import commands
from asyncqt import QEventLoop, asyncSlot
import botDesign
with open('./master.json', 'r', encoding='utf-8-sig') as f:
    data = json.load(f)
TOKEN = data["guild"]["TOKEN"]
BP = data["guild"]["command_prefix"]
intents = discord.Intents.all()
bot = commands.Bot(command_prefix=BP, case_insensitive=True, intents=intents)
bot.remove_command('help')
class ExampleApp(QtWidgets.QMainWindow, botDesign.Ui_MainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        self.client = MyDiscordCLient()
        self.pushBotButton.clicked.connect(self.on_connect_bot)
        self.pushCogsButton.clicked.connect(self.load_cog)
    @asyncSlot()
    async def on_connect_bot(self):
        await self.client.start(TOKEN)
    @asyncSlot()
    async def load_cog(self):
        for filename in os.listdir("./cogs"):
            if filename.endswith(".py") and not filename.startswith("_"):
                bot.load_extension(f"cogs.{filename[:-3]}")
                print(f'Loaded {filename[:-3]}')
class MyDiscordCLient(discord.Client):
    async def on_ready(self):
        print('Bot logged discord server.')
        await self.change_presence(status=discord.Status.online, activity=discord.Game('test'))
def main():
    app = QtWidgets.QApplication(sys.argv)
    loop = QEventLoop(app)
    asyncio.set_event_loop(loop)
    window = ExampleApp()
    window.show()
    loop.run_forever()
if __name__ == '__main__':
    main()

файл в /cogs

  import discord
import audiopath
import audioread
from discord.ext import commands
from time import sleep
class Audio(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
    @commands.Cog.listener()
    async def on_voice_state_update(self, member: discord.Member, before, after):
        vc_before = before.channel
        vc_after = after.channel
        if vc_before == vc_after:
            return
        if vc_before is None and vc_after is not None:
            channel = member.voice.channel
            vc = await channel.connect()
            sleep(.1)
            vc.play(discord.FFmpegPCMAudio(audiopath.connect))
            with audioread.audio_open(audiopath.connect) as f:
                #   Start Playing
                sleep(f.duration)
            await vc.disconnect()
        elif vc_after is None and vc_before is not None:
            return
        else:
            channel = member.voice.channel
            vc = await channel.connect()
            sleep(.1)
            vc.play(discord.FFmpegPCMAudio(audiopath.connect))
            with audioread.audio_open(audiopath.connect) as f:
                #   Start Playing
                sleep(f.duration)
            await vc.disconnect()
def setup(bot):
    bot.add_cog(Audio(bot))