如何使用python discord.py创建类别和频道

时间:2020-02-10 20:19:24

标签: python discord.py-rewrite

我试图创建一个函数,该函数首先创建一个名为“ management”的类别,然后创建一个以我的服务器成员数命名的通道。

预期的结果是,类别和渠道如上所述得到相应创建。

这是我要使用的代码

@client.command()
async def setup_counter(ctx):
    try:
        await ctx.send("Setting up management!")
        await guild.create_category("Management", overwrites=None, reason=None)
        await guild.create_voice_channel(f"Member Count: {guild.member_count}", overwrites=None, category="Management", reason=None)
        await ctx.send("Setup finished!")
    except Exception as errors:
        print(f"Bot Error: {errors}")

2 个答案:

答案 0 :(得分:1)

您需要选择要在哪个服务器(公会)上执行此操作。另外,您需要传递对类别的引用,而不仅仅是其名称。如果您知道公会的ID,请使用以下代码:

@client.command()
async def setup_counter(ctx):
    try:
        guild = client.get_guild(id) # <-- insert yor guild id here
        await ctx.send("Setting up management!")
        category = await guild.create_category("Management", overwrites=None, reason=None)
        await guild.create_voice_channel(f"Member Count: {guild.member_count}", overwrites=None, category=category, reason=None)
        await ctx.send("Setup finished!")
    except Exception as errors:
        print(f"Bot Error: {errors}")

如果您不知道公会ID,请按照官方article进行讨论,寻找他们的服务器ID。

答案 1 :(得分:0)

在使用ctx.guild的地方使用guild.#something。无需使用guild = client.get_guild()