Как подключить бота к голосовому каналу дискорд js

Всем привет, пытаюсь написать бота который бы «прилип» к определенному пользователю, и бегал за ним по любым голосовым каналам в дискорде.

Впринципе этот код выполняет поставленную задачу, но проблема заключается в том, что если например пользователь зашел в переполненную комнату, бот соответственно зайти в нее не может, и как только место освобождается, нужно чтобы он заходил, но он этого не делает, и мне понятно почему. Как можно это реализовать? Так как я недавно в JS, у меня есть мысль, но я не знаю как. Проверять например каждые 3 секунды, находится ли пользователь в голосовом канале, если находится то получать id этого канала и присоединяться, соответственно если пользователь зашел в полную комнату, бот не смог зайти, каждый 3 секунды он будет пытаться присоединиться пока комната не освободится. Но как это воплотить в жизнь, я без понятия. Вижу две проблемы как минимум здесь:
1) Как следить именно за определенным пользователем
2) Как сделать проверку каждые 3 секунды до бесконечности или пока не вырублю бота

[Устаревший Discord.js] Cоздание/очистка голосовых каналов Discord.js v12

Последний раз редактировалось Bychara5000, 22.04.2022 в 02:31 . Причина: 1

« Подскажите новичку по типам | Угадай мелодию »

Источник: javascript.ru

Блог

Как подключить одного бота к множеству голосовых каналов ? Discord.js

  • Post author: admin
  • Запись опубликована: 13 декабря, 2022
  • Post category: Вопросы по программированию

#javascript #discord.js

#javascript #discord.js

Вопрос:

Я создаю музыкальный бот discord, но я понял промах. Мой бот может быть только один раз на одном голосовом канале. Есть ли способ подключить этого бота к нескольким голосовым каналам?

1. Вы имеете в виду, что бот находится в нескольких голосовых каналах на одном сервере или на разных серверах?

2. Я имею в виду и то, и другое. Я хотел бы разрешить использовать бота на любом голосовом канале

Ответ №1:

Вы не можете заставить discord-бота вести два разных голосовых чата на одном сервере. Вместо этого вы можете создать несколько ботов с точным кодом (разные токены ботов) и пригласить их всех на сервер, а затем разрешить им присоединяться к разным голосовым чатам. Однако вы можете заставить одного бота присоединиться к нескольким голосовым чатам, которые находятся на разных серверах, и заставить их воспроизводить разную музыку.

1. (Некоторые серверы, на которых есть собственный музыкальный бот, имеют 3 музыкальных канала и 3 одного и того же музыкального бота.)

2. Тогда как я могу заставить бота присоединиться к другим голосовым каналам на разных серверах?

3. Просто сделайте ваш код совместимым с сервером

Ответ №2:

Это правда, что вы не можете играть в discord bot на двух голосовых каналах на этом же сервере. Вместо этого вы можете играть на разных голосовых каналах, если эти каналы находятся на разных серверах. Вот пример:

Еще по теме:  Как открыть дискорд в игре комбинация клавиш

Пишем бота на Discord.js | #1 Установка и настройка


const Discord = require(«discord.js»); const fs = require(‘fs’); const ytdl = require(«ytdl-core»); const client = new Discord.Client(); client.on(‘message’, async (message) => < const broadcast = client.voice.createBroadcast(); broadcast.play(ytdl(‘yt video link’)); if (message.

content === ‘msg’) < const connection = await message.member.voice.channel.join(); connection.play(broadcast); > >) client.login(‘token’)

Источник: programbox.ru

Бот Discord не подключается к голосовому каналу, в котором я нахожусь

Я пытаюсь закодировать своего собственного музыкального бота, но он не подключается к голосовому каналу, в котором я нахожусь. Все остальное работает нормально. Я думаю, что я должен установить определенную вещь, используя npm, но я не знаю, правильно это или нет, я не уверен, поэтому может кто-нибудь, пожалуйста, скажите мне, что мне делать, чтобы решить эту проблему.

client.on(‘message’, message => < let args = message.content.substring(prefix.length).split(» «); switch (args[0]) < case ‘play’: function play(connection, message) < var server = servers[message.guild.id]; server.dispatcher = connection.playStream(ytdl(server.queue[0], )); server.queue.shift(); server.dispatcher.on(«end», function() < if(server.queue[0]) < play(connection, message); >else < connection.disconnect(); >>); > if(!args[1]) < message.channel.send(«You need to provide a link!»); return; >if(!message.member.voiceChannel) < message.channel.send(«You must be in a voice channel to use this command!»); return; >if(!servers[message.guild.id]) servers[message.guild.id] = < queue: [] >var server = servers[message.guild.id]; server.queue.push(args[1]); if(!message.guild.voiceConnection) message.member.voice.channel.join().then(function(connection) < play(connection, message); >) break; > >);
Kawaki 2 Сен 2020 в 17:26

2 ответа

Я думаю, что вы используете версию discord.js 12+, в этой версии свойство voiceConnection удалено из класса GuildMember .

Вы должны попробовать следующее —

message.member.voice.channel.join()

Источник: question-it.com

Рейтинг
( Пока оценок нет )
Загрузка ...