присоединяйтесь к голосовому каналу, когда будете готовы (discord.js v12)

#discord.js

Вопрос:

Я хочу, чтобы мой бот присоединился к 2 голосовым каналам в другой гильдии или более, когда бот будет готов

Хорошо, я пытался использовать его, но он не работает

 client.on("ready", () => {
  const channel = client.channels.cache.get['ChannelID1', 'ChannelID2']
  if (!channel) return
  channel.join().then(connection => {
    console.log('Done')
  });
});
 

Это не работает. Я убедился, что идентификатор правильный и все такое, и он все еще не работает.

Ответ №1:

У вас в коде синтаксическая ошибка. В строке 2 вы должны вызвать функцию, а не получить ее свойство:

 client.on("ready", () => {
  const channel = client.channels.cache.get('id');
  if (!channel) return
  channel.join().then(connection => {
    console.log('Done')
  });
});
 

Есть и еще одна проблема. Он присоединится только к каналу 1, потому что вы не можете получить два канала одновременно. Вы можете разделить его вот так:

 client.on("ready", () => {
  const channels = ['id', 'id']
  for (const channel of channels) {
    const voiceChannel = client.channels.cache.get(channel)
    if (!voiceChannel) continue
    voiceChannel().then(connection => {
      console.log('Done')
    });
  }
});
 

Комментарии:

1. @abdooo9 Это здорово! Я был бы очень признателен, если бы вы приняли мой ответ 🙂

2. Вам не нужно, чтобы они принимали ответ. Просто нажмите на серую галочку.

3. Я приношу извинения за задержку