我正在用python编写一个机器人,我想为它实现静音命令,我看到了向用户添加角色的选项,但它们不起作用(我将没有权限的角色设置为高于管理员并且可以写入无论如何聊天)。还做了这个代码:
@bot.command(pass_context=True, aliases=['замуть', 'mute'])
@commands.has_permissions(administrator=True)
async def мут(ctx, member: discord.Member = None, amout: str = None, *, reason = None):
await member.edit(mute = True)
now = datetime.now()
emb = discord.Embed()
hour = now.hour
minute = now.minute
second = now.second
emb.set_author(name=member, icon_url=member.avatar_url)
emb.add_field(name='МУТ', value=f'{hour}:{minute}:{second}')
emb.set_footer(text=f'Был замутен администратором {ctx.author.name}', icon_url=ctx.author.avatar_url)
await ctx.send(embed=emb)
但是他只是代表服务器关闭了MICROPHONE,我需要你也不能写,不能只说话......
创建静音角色时,您需要在每个类别(不是频道,而是在哪个频道中的类别)中禁止此角色使用您要阻止静音的内容。
我个人使用此代码:
它在一定分钟内赋予静音的角色
但如果你想要你的代码,那么我添加了它(也用于发布角色)
抱歉,但删除了日期时间部分。
而且,好吧,如果您感到无聊,您可以获取所有频道(语音和文本)的列表,并禁止您需要语音的文本。但粗略地说,作为颁发具有相同权限的角色的回报,您使工作复杂化并禁止用户在未颁发角色的情况下做某事。