Python discord.errors.HTTPException:400错误请求(错误代码:40032):目标用户未连接到语音

Python discord.errors.HTTPException:400错误请求(错误代码:40032):目标用户未连接到语音,python,discord.py,python-3.9,Python,Discord.py,Python 3.9,这是我在机器人中的代码 @Bot.event async def on_voice_state_update(member,before,after): #Создание войс комнат if after: if after.channel: if after.channel.id == $$$$$$$$$$$$$$$$$$$$$: print(f'{member} зашёл в канал')

这是我在机器人中的代码

@Bot.event
async def on_voice_state_update(member,before,after): #Создание войс комнат
    if after:
        if after.channel:
            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()
这是我在终端上的错误

Ignoring exception in on_voice_state_update
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 115, in on_voice_state_update
    await member.move_to(channel2)
  File "C:\Users\Макс\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\member.py", line 725, in move_to
    await self.edit(voice_channel=channel, reason=reason)
  File "C:\Users\Макс\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\member.py", line 668, in edit
    await http.edit_member(guild_id, self.id, reason=reason, **payload)
  File "C:\Users\Макс\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\http.py", line 254, in request
    raise HTTPException(r, data)
discord.errors.HTTPException: 400 Bad Request (error code: 40032): Target user is not connected to voice.

请帮帮我,我自己解决不了这个错误,我用的是Python 39,我在你的代码中看到了一些错误。我无法解释您提到的错误,因为您的代码中没有搜索特定用户。让我们看看其他方面:

首先:它是
bot.event
,而不是
bot.event
,除非您对其进行了不同的定义,否则请忽略此消息。(然后您必须修改代码)

在测试时,我注意到Bot.guilds:中帮会的
抛出了以下错误:

discord.errors.HTTPException:400错误请求(错误代码:10003):未知通道
我通过直接定义
guild
修正了这个错误:

guild=bot.get\u guild(GuildID):
我还重新构造了代码,并添加了一个
discord.PermissionOverwrite
函数以使其更清晰

完整代码:

@bot.event
语音状态更新时的异步定义(成员、之前、之后):
如果在以下时间之后:
如果在.channel之后:
如果after.channel.id==AfterChannelID:
印刷品(成员)
帮会=bot.get_帮会(GuildID)
maincegory=discord.utils.get(guild.categories,id=CategoryID)
覆盖={
成员:discord.PermissionOverwrite(connect=True,mute\u members=True,move\u members=True,
管理(信道=真)
}
channel2=等待公会。创建语音频道(name=f'{member.display\u name}',
类别=主类别,覆盖=覆盖)
等待成员。移动到(通道2)
def检查(x、y、z):
返回len(channel2.members)==0
wait bot.wait_for('voice_state_update',check=check)
等待通道2.delete()

然后可能需要根据您的喜好对代码进行调整,但此代码对我来说很好。

如果用户未连接到void,则可以连接到用户。始终将其放入
try/except
以捕获错误并跳过此用户。我按照您的建议执行了操作,但现在出现了此错误:
忽略on_voice_state_update Traceback中的异常(上次最新呼叫):文件“C:\Users\Маimk_\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\Local Packages\Python39\site Packages\discord\client.py”,运行事件等待coro(*args,**kwargs)文件“C:\Users\Маааimk_imk_С\DRACULA rms\bot.py”,第111行,在线语音州更新公会=bot.getа公会(Guidd)属性错误:模块'discord.ext.commands.bot'没有属性'get_guild'
什么是
discord.ext.commands.bot
?使用来自discord.ext的
导入命令
也没有在
GuildID
中插入公会ID,这只是一个填充项…应该在“GuildID”中指定什么"? 服务器ID?是的,如上所述,我制作的所有其他未定义的填充物都是相同的。Cаааааааааааааааазааааааааааааа<代码>忽略on_voice_state_update Traceback中的异常(最后一次调用):文件“C:\Users\МааС\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\Local Packages\Python39\site Packages\discord\client.py”,第343行,在运行事件等待coro(*args,**kwargs)文件中“C:\Users\МааС\DRACULA rms\bot.py”,on_voice_state_update guild=bot.get_guild(660148058205716494)属性错误:模块“discord.ext.commands.bot”没有属性“get_guild”