カテゴリ内に指定した名前でチャンネルを作成する方法です。
discord.Guild.create_text_channel
サンプルコード
以下はコマンドを打った時に、 カテゴリ内に指定した名前のチャンネルを作成するコードです。
import discord
@client.event
async def on_message(message):
# /ch_create チャンネル名 というコマンドで反応する
if message.content.startswith('/ch_create '):
# チャンネル名を取得
ch_name = message.content.replace('/ch_create ', '')
# 名前がない時、チャンネルを作成する際にエラーが発生するのを回避している
if len(ch_name)<=1:
return
# 権限を編集して作成するには以下のコードを追加
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[1], overwrites=permission)
# 権限を編集して作成するには、上記で追加した permission を
# overwrites に指定する
await message.channel.send(f"{ch.mention} を作成しました。")
Twitter