VDT2
@VDT2
Java Junior

Возможно ли изменить название канала по его 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. Т.е. именно в кавычках )
  • Вопрос задан
  • 441 просмотр
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега Discord
Javascript-разработчик
Возможно ли отправить сообщение на ID канала в дискорд (без использования имени)?

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

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

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

Войти через центр авторизации
Похожие вопросы