DISCORD. JS Как получить указанный c идентификатор канала по имени? - PullRequest
0 голосов
/ 10 февраля 2020

Довольно новый вопрос ie, но моя общая цель - иметь выделенный лог-канал, который бот тоже посылает сообщения. Так что это было бы что-то вроде этого

log = logstuff; channel = [WAY OF GETTING CHANNEL ID BY NAME] client.channels.get(channel).send(log)

Все внутри асин c функция b c я использую Commando.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Другой ответ будет работать, но вы можете значительно сократить его, выполнив следующие действия:

let log = "Your Stuff";
message.guild.channels.find('name', 'channel-name').send(log)
0 голосов
/ 10 февраля 2020

Решение означает, что вам нужно просто найти message.guild для вашего channel, а затем отправить свой журнал;

let targetChannelName = "MY_SAMPLE_CHANNEL_NAME";
let log = "test payload";
try {
  await message.guild.channels.find(channel => channel.name === targetChannelName && channel.type === "text").send(log)
} catch {console.log} // log any errors

Когда вы передаете сообщение этому фрагменту, он просматривает message.guild коллекция каналов, для канала со значением name, равным targetChannelName, и является textChannel. Когда он находит целевой канал, он отправляет контент log.

...