是否可以使discord.py机器人使频道静音?

问题描述

我正在尝试创建一个使您所在的文本通道静音的命令。我只需要知道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,所以请原谅语法/使用错误。

如果您想在加入文本频道时将音频静音,则可能类似于:

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)

这应该起作用,它将删除键入命令以发送消息的人员的权限。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...