カテゴリ内に指定した名前でチャンネルを作成する方法です。
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} を作成しました。")
Share this post
Twitter