yutarou12

カテゴリ内に指定した名前でチャンネルを作成する方法です。

discord.Guild.create_text_channel

サンプルコード

以下はコマンドを打った時に、 カテゴリ内に指定した名前のチャンネルを作成するコードです。

import discord

@client.event
async def on_message(message):

    # /ch_create チャンネル名 というコマンドで反応する
    # /ch_createだけだと末尾の空白がDiscordの仕様により自動で削除されるため反応しない
    if message.content.startswith('/ch_create '):

        # チャンネル名を取得
        ch_name = message.content.replace('/ch_create ', '')

        # 権限を編集して作成するには以下のコードを追加
        permission = {
            message.guild.default_role: discord.PermissionOverwrite(read_messages=False),
            message.guild.me: discord.PermissionOverwrite(read_messages=True)
        }

        # チャンネルを作成するカテゴリを取得
        category = message.guild.get_channel(カテゴリID)

        #取得したカテゴリに指定した名前でチャンネルを作成
        ch = await category.create_text_channel(name=ch_name, overwrites=permission)
        # 権限を編集して作成するには、上記で追加した permission を
        # overwrites に指定する

        await message.channel.send(f"{ch.mention} を作成しました。")

参考リンク

comments powered by Disqus