Как получить id канала и отправить туда сообщение

у меня есть команда \createC - она создаёт 5 каналов, но как получить id этих каналов и отправить туда сообщение после создания

@botm.command()
async def createC(ctx):
    guild = ctx.message.guild
    n=0
    while(n<=int(botsettings["CreateChannels"])):
        await guild.create_text_channel(f'channel n {n}') 
        #как в этот канал, который только что создался отправить сообщение?
        n = n+1

Ответы (1 шт):

Автор решения: LuK_

Функция await guild.create_text_channel(f'channel n {n}') возращает созданный канал, так что канал можно получить, поместив функцию в переменную. Код будет выглядеть так:

@botm.command()
async def createC(ctx):
    guild = ctx.guild
    n = 0
    while (n <= int(botsettings["CreateChannels"])):
        channel = await guild.create_text_channel(f'channel n {n}') 
        await channel.send("сообщение")
        n += 1

И ещё, на будущее) От ctx можно напрямую получить и гильдию, и канал и всё что хочешь, через сообщение это делать не надо. Вместо guild = ctx.message.guild используй guild = ctx.guild. И вместо n = n + 1, можно использовать n += 1, это работает и с другими действиями. Например: n *= 2, n /= 3 и тд.

→ Ссылка