如何创建一个新的私人文本频道并添加2个人?

时间:2019-05-21 15:08:27

标签: python discord discord.py

我正在创建一个不和谐的机器人,用户将向该机器人发消息,并且

  1. 机器人将创建一个新的PRIVATE文本通道;最好与漫游器在同一服务器上
  2. 该漫游器只会将消息传递用户和管理员添加到该频道

我已经能够使用this question作为指导来建立新频道。我无法建立私人文本频道或找到允许我这样做的命令。有谁知道如何在discord.py中创建私人文本频道并向其中添加2个人(向用户和管理员发送消息)?

1 个答案:

答案 0 :(得分:1)

您可以使用Guild.create_text_channel创建具有某些权限覆盖的文本通道。下面创建了一个仅对调用者,漫游器和具有“管理员”角色的成员可见的通道(您需要将其更改为适合您服务器的角色)

from discord.utils import get

@bot.command()
async def make_channel(ctx):
    guild = ctx.guild
    member = ctx.author
    admin_role = get(guild.roles, name="Admin")
    overwrites = {
        guild.default_role: discord.PermissionOverwrite(read_messages=False),
        guild.me: discord.PermissionOverwrite(read_messages=True),
        admin_role: discord.PermissionOverwrite(read_messages=True)
    }
    channel = await guild.create_text_channel('secret', overwrites=overwrites)