Python 属性错误:';非类型';对象没有属性';id'_

Python 属性错误:';非类型';对象没有属性';id'_,python,python-3.9,Python,Python 3.9,这是我在机器人中的代码 @Bot.event async def on_voice_state_update(member,before,after): #Создвние войс комнат if after.channel.id == &&&&&&&&&&&&&&&&&&: print(f'{member} зашёл в

这是我在机器人中的代码

@Bot.event
async def on_voice_state_update(member,before,after): #Создвние войс комнат
    if after.channel.id == &&&&&&&&&&&&&&&&&&:
        print(f'{member} зашёл в канал')
        for guild in Bot.guilds:
            maincategory = discord.utils.get(guild.categories, id=$$$$$$$$$$$$$$$$$$)
            channel2 = await guild.create_voice_channel(name=f'{member.display_name}`s Channel',category = maincategory)
            await channel2.set_permissions(member,connect=True,mute_members=True,move_members=True,manage_channels=True)
            await member.move_to(channel2)
            def check(x,y,z):
                return len(channel2.members) == 0
            await Bot.wait_for('voice_state_update',check=check)
            await channel2.delete()
这是我在终端上的错误

Traceback (most recent call last):
  File "C:\Users\Макс\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\Макс\DRACULA-rms\bot.py", line 108, in on_voice_state_update
    if after.channel.id == &&&&&&&&&&&&&&&&&&&&:
AttributeError: 'NoneType' object has no attribute 'id'

请帮助我,我自己无法解决此错误,我使用Python 39。如果成员在此更新后(不再)处于语音频道,则如文档所述,
after.channel
值为None

你将不得不以某种方式处理该案件,也许什么也不做:

if after.channel and after.channel.id == &&&&&&&&&&&&&&&&&&:
    print(f'{member} зашёл в канал')

这不是最理想的方法,但我想你可以用这个:

if after:
    if after.channel:
             if after.channel.id == &&&&&&&&&&&&&&&&&&:
             //Your code here

它基本上首先检查after是否为none,如果不是,那么after,channel是否为none?如果不是,那么它将引用它的id

如果after和after.channel和after.channel.id==&&&&:,那么它可以缩短为
。但我认为这并不能回答OP的问题。