Discord py - 在 "on_raw_reaction_add" 函数中的某个类别中创建频道?
Discord py - creating a channel in a certain category in a "on_raw_reaction_add" function?
大家好,我有一个我无法解决的问题!
如何在特定类别中创建频道?
我的代码如下:
@client.event
async def on_raw_reaction_add(payload):
guild_id = payload.guild_id
guild = client.get_guild(guild_id)
user = payload.user_id
emoji = payload.emoji.name
if user == 762903825866424320:
return
if emoji == "":
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
guild.me: discord.PermissionOverwrite(read_messages=True, send_messages=True)
}
ticket_nr = random.randint(100,999)
await guild.create_text_channel(f'ticket-{ticket_nr}', overwrites=overwrites)
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
role = await guild.create_role(name=f"ticket-{ticket_nr}")
await member.add_roles(role)
第二个问题:
我想给点击表情符号的用户一个名为 ticket-{random-number} 的角色,只有他和角色 Support 才能访问频道!我该如何更改覆盖?
感谢您的帮助:)
第一个问题:
category = guild.get_channel(CATEGORY_ID)
await category.create_text_channel(...)
关于你的第二个问题:
我不建议您创建一个具有随机数的角色,这很难管理。相反,在创建票证通道时,您可以覆盖它,这样只有支持角色和成员才能看到它。
support_role = ctx.guild.get_role(SUPPORT_ROLE_ID)
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
ctx.author: discord.PermissionOverwrite(read_messages=True, send_messages=True),
support_role: discord.PermissionOverwrite(read_messages=True, send_messages=True)
}
希望对您有所帮助!
大家好,我有一个我无法解决的问题!
如何在特定类别中创建频道?
我的代码如下:
@client.event
async def on_raw_reaction_add(payload):
guild_id = payload.guild_id
guild = client.get_guild(guild_id)
user = payload.user_id
emoji = payload.emoji.name
if user == 762903825866424320:
return
if emoji == "":
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
guild.me: discord.PermissionOverwrite(read_messages=True, send_messages=True)
}
ticket_nr = random.randint(100,999)
await guild.create_text_channel(f'ticket-{ticket_nr}', overwrites=overwrites)
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
role = await guild.create_role(name=f"ticket-{ticket_nr}")
await member.add_roles(role)
第二个问题:
我想给点击表情符号的用户一个名为 ticket-{random-number} 的角色,只有他和角色 Support 才能访问频道!我该如何更改覆盖?
感谢您的帮助:)
第一个问题:
category = guild.get_channel(CATEGORY_ID)
await category.create_text_channel(...)
关于你的第二个问题: 我不建议您创建一个具有随机数的角色,这很难管理。相反,在创建票证通道时,您可以覆盖它,这样只有支持角色和成员才能看到它。
support_role = ctx.guild.get_role(SUPPORT_ROLE_ID)
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
ctx.author: discord.PermissionOverwrite(read_messages=True, send_messages=True),
support_role: discord.PermissionOverwrite(read_messages=True, send_messages=True)
}
希望对您有所帮助!