我想知道如何将漫游器添加到行会中,如何使它获得每个文本和语音通道,然后拒绝@每个人都可以读取它,但是又允许另一个名为“已验证”的角色来读取它? /> 我正在使用Discord.py的重写版本
编辑:我发现了如何使用
更改权限。await message.channel.set_permissions(message.author, read_messages=True, send_messages=False)
但是我仍然不知道如何在每个频道上应用
答案 0 :(得分:0)
即使您已经在Discord上找到了答案,也可以在此处将其发布给他人;)
您需要通过Guild.channels
答案 1 :(得分:0)
这只会更改发送消息的用户的情况。要阻止所有人,必须改为设置Guild.default_role
的权限。以下命令接受现有角色和任意数量的成员。它为调用者和所有这些成员赋予该角色,然后为没有该角色的每个人禁用阅读消息。
from discord.ext import commands
import discord
bot = commands.Bot(command_prefix='!')
@bot.command()
async def verify(ctx, role: discord.Role, *members: discord.Member):
for member in (ctx.author, *members):
await member.add_roles(role, reason=f"Verify command by {ctx.author.id}")
for channel in ctx.guild.channels:
await channel.set_permissions(ctx.guild.default_role, read_messages=False)
await channel.set_permissions(role, read_messages=True)
bot.run("Token")