Как получить 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 и тд.