Bot不想在成员加入/离开vc时创建/删除文本通道

时间:2020-10-18 10:47:28

标签: python python-3.x discord discord.py

我想制作一个在成员加入语音通道时创建文本通道并在该成员离开语音通道时删除文本通道的机器人。

@client.event
async def on_voice_state_update(member, before, after):
    channelid = after.channel.id
    guild = discord.utils.get(client.guilds, id=764768330212048936)
    voicechannelmembers = discord.VoiceChannel.members
    print(f'{member.name} заходит в голосовой канал с ID = {channelid}...')
    if channelid == 765619299770695740:
        print(f'{member.name} зашел в "Стрим 3"(ID: {channelid})')
        channel = discord.utils.get(guild.text_channels, name="стрим3")
        voicechannelmembers = discord.VoiceChannel.members
        print(f'Подготовка к созданию канала...')
        print(f'Проверяю сервер на наличие существующих каналов...')
        if channel != None:
            print('Данный канал уже существует. Отмена...')
            return
        else:
            if member not in voicechannelmembers:
                await channel.delete()
                print(f"{member.name} вышел из голосового канала. Канал будет удален.")
                return
            else:
                print(f'Дубликатов не найдено, создаю текстовый канал с именем: "стрим3"')
                await guild.create_text_channel(name='стрим3')
                channel = discord.utils.get(guild.text_channels, name="стрим3")
                message=discord.Embed(
                    title=":green_book:Добро пожаловать!:green_book:",
                    description=f'Добро пожаловать в чат стрима 3!\nСтример: *{member.mention}*',
                    colour=discord.Colour.green()
                    )
                await channel.send(embed=message)

当我加入语音频道时,我得到了:

Ignoring exception in on_voice_state_update
Traceback (most recent call last):
  File "Z:\Programs\Python\lib\site-packages\discord\client.py", line 333, in _run_event
    await coro(*args, **kwargs)
  File "bot.py", line 69, in on_voice_state_update
    if member not in voicechannelmembers:
TypeError: argument of type 'property' is not iterable

0 个答案:

没有答案