VDT2
@VDT2
Java

Возможно ли изменить название канала по его ID в дискорд (без использования имени)?

В мануалах и интернетах пишут так:

client.guilds.get(GUILD_ID).channels.get(746324211768885318).setName("Проба");

Но не работает:

TypeError: Cannot read property 'setName' of undefined

В API дискорда я тоже не нашел (либо плохо искал) метод, отправки по ID.
Если же отправлять используя ИМЯ, то работает:

guild.channels.find(channel => CHANNEL_NAME === channel.name);

Но в моем случае "ИМЯ" канала будет динамически меняться.
Как решить, не понимаю.

БЫСТРОЕ РЕШЕНИЕ, чтобы не искать в куче комментов жаркого обсуждения:

const guild = bot.guilds.cache.get("id_гильдии")
const channel = guild.channels.cache.find(channel => channel.id === "id_канала")
channel.setName("members")

Очень важно отправлять ID типа STRING. Т.е. именно в кавычках.
  • Вопрос задан
  • 1238 просмотров
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
Возможно ли отправить сообщение на ID канала в дискорд (без использования имени)?

да.
используйте:
client.channels.cache.get('id_канала').send('сообщение');

метод .send также можно заменить на любой другой метод.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы