Вывод сообщения в канал

Мне необходимо создать функцию которая отправляет сообщение в определённый канал. Уточняю, канал НЕ должен быть указан пользователем и не должен являться местом отправки сообщения. То есть, варианты с:

@client.command()

async def test(ctx, channel: discord.TextChannel):
    await channel.send('Test')

и

@client.command()

async def test(ctx):
    channel = discord.Message.channel
    await channel.send('Test')

не предлогайте.


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

Автор решения: LeonidM
# ID нужного канала
channel_id = 0

@bot.command()
async def test(ctx):
    await (await ctx.guild.fetch_channel(channel_id)).send(ctx.message.content)
→ Ссылка
Автор решения: piece0f

Есть вот такой вот костыль, но прекрасно работает если не создавать новых каналов или не менять их месторасположение. P.S. Отсчет расположения начинается с 0

guild = ctx.guild #наш сервер
category = guild.categories[4]  #позиция категории
channel = category.channels[0]  #позиция канала в категории
await channel.send(...) 
→ Ссылка
Автор решения: Роман Сиджах

Могу дать более простой и понятный код.

С сообщением указанным в аргументе

@bot.command()
async def send(ctx, *, text):
    channel = bot.get_channel(#айди канала)
    await channel.send(text)

С фиксированным сообщением:

@bot.command()
async def send(ctx):
    channel = bot.get_channel(#айди канала)
    await channel.send(#ваше сообщение)
→ Ссылка