是否可以让 discord.py 机器人将频道静音?
Is it possible to make a discord.py bot mute a channel?
我正在尝试创建一个命令,使您所在的文本频道静音。我只需要知道 discord.py 库是否有相关功能。就像将频道静音这样您就不会收到任何通知。
您要静音哪种声音?如果您要加入文本频道,则不应接收语音或向其广播。
虽然 channel
是语音频道,但您可能会发现这很有用:
await change_voice_state(*, channel, self_mute=False, self_deaf=False)
This function is a coroutine.
Changes client’s voice state in the guild.
我没用过discord.py所以请原谅syntax/use错误。
如果您的意思是希望在加入文本频道时将音频静音,可能是这样的:
if discord.channelType == text:
discord.VoiceState.self_deaf = true;
如果您希望它使麦克风而不是扬声器静音,但如果您只是在文本频道中,则这是必要的:
discord.VoiceState.self_mute = true;
这些假设机器人正在控制当前用户。
否则,请浏览 discord.py 文档 (https://discordpy.readthedocs.io/en/latest/api.html?highlight=discord%20voicestate#),看看您是否可以找到更适合您确切需求的内容。
你应该使用TextChannel.set_permissions()
await ctx.channel.set_permissions(ctx.author, send_messages=False)
这应该有效,它将删除键入命令以发送消息的人的权限。
我正在尝试创建一个命令,使您所在的文本频道静音。我只需要知道 discord.py 库是否有相关功能。就像将频道静音这样您就不会收到任何通知。
您要静音哪种声音?如果您要加入文本频道,则不应接收语音或向其广播。
虽然 channel
是语音频道,但您可能会发现这很有用:
await change_voice_state(*, channel, self_mute=False, self_deaf=False)
This function is a coroutine.
Changes client’s voice state in the guild.
我没用过discord.py所以请原谅syntax/use错误。
如果您的意思是希望在加入文本频道时将音频静音,可能是这样的:
if discord.channelType == text:
discord.VoiceState.self_deaf = true;
如果您希望它使麦克风而不是扬声器静音,但如果您只是在文本频道中,则这是必要的:
discord.VoiceState.self_mute = true;
这些假设机器人正在控制当前用户。
否则,请浏览 discord.py 文档 (https://discordpy.readthedocs.io/en/latest/api.html?highlight=discord%20voicestate#),看看您是否可以找到更适合您确切需求的内容。
你应该使用TextChannel.set_permissions()
await ctx.channel.set_permissions(ctx.author, send_messages=False)
这应该有效,它将删除键入命令以发送消息的人的权限。