Jac*_*Lee 5 python discord.py discord.py-rewrite
我是我们之间 Discord 公会的所有者,我在其中实施了一些机器人。当我们播放语音通话时,有时人们会忘记将自己静音,以便我们可以听到它们,这通常会揭示有价值的信息。
我正在尝试设计一组命令,让一个人可以轻松地将语音通道中的每个人静音。他们使用该命令claim "VC Name"在指定的语音通道上声明命令,然后使用该命令set_mute "true/false"将所有人静音或取消静音。我已经关闭了第一部分,但我正在努力处理实际上使语音通道成员静音/取消静音的第二部分的代码。
在阅读 discord.py 的文档时,我发现了一些可能有用的选项,但我不知道如何执行它们中的任何一个。
discord.VoiceState(文档):discord.VoiceState具有属性mute,muted和self_mute。也许可以使用诸如member.VoiceState.mute = True,member.VoiceState.muted = True或 之类的东西来修改成员的语音状态member.VoiceState.self_mute = True。我不确定如何使用此方法,因为使用上述代码行会生成AttributeError.discord.Member.edit(文档):member.Member.edit可以选择设置mute为 True。这实际上将成员设置为服务器静音(我似乎无法撤消它),所以我宁愿避免使用此选项,除非通过此方法有解决方案。这是我现在拥有的代码。在最后一条if/else语句下,我将把解决方案用于将通话中的成员静音和取消静音。
async def mute(ctx, setting):
regex, claimed = re.compile(f"_VC: (Lobby [0-9])_"), False
for role in cx.message.author.roles:
if regex.search(role.name):
claimed = True
break
if not claimed:
await ctx.send("You have not claimed any of the game lobbies")
return
voice_channel = discord.utils.get(ctx.guild.channels, name=regex.search(role.name).group(1))
for member in voice_channel.members:
if setting.lower() == 'true':
await member.voice_state.set_to_muted()
elif setting.lower() == 'false':
await member.voice_state.set_to_not_muted()
Run Code Online (Sandbox Code Playgroud)
小智 3
discord.VoiceState.self_mute,您将看到此属性的描述:指示用户当前是否自行静音。
所以这意味着您不能设置任何值,此属性返回True/False取决于用户是否将自己静音。
member.edit。所以我猜你正在尝试命名 2 个方法set_to_muted,set_to_unmuted但为此,你必须编辑 discord.py 库的主要 python 文件。相反,您可以创建 2 个作为member参数的异步函数,并且可以通过这种方式将它们静音。
async def set_to_muted(member: discord.Member):
await member.edit(mute=True)
async def set_to_unmuted(member: discord.Member):
await member.edit(mute=False)
@client.command()
async def mute(ctx, setting):
voice_channel = discord.utils.get(ctx.guild.channels, name='')
if setting.lower() == 'true':
for member in voice_channel.members:
await set_to_muted(member)
elif setting.lower() == 'false':
for member in voice_channel.members:
await set_to_unmuted(member)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |