Додайте свій проект безкоштовно і почніть отримувати пропозиції від фрілансерів-виконавців вже через хвилини після публікації!

Наладить работоспособность музыкального бота на Discord.Js

минув час актуальності


Разрабатываю под интеграцию со своим сайтом собственного Discord бота. 

Стояла задача настроить функции для проигрывания аудиодорожек видео и прямых трансляций с Youtube в голосовой чат на сервере.

За основу взял бота по ссылке: https://github.com/bdistin/OhGodMusicBot/blob/master/server.js

Финальный (мой) код: https://gist.github.com/idaspin/bf452ee8d3ec1c50256d6dae3a5c516b

Проблема: я не могу разобраться почему даёт сбои диспатчер? Как он, аудио поток и голосовой канал вообще работают? На протяжении долгово времени пока я пытался наладить работу, появлялись друг за другом разные проблемы: и диспатчер отказывал работать, и ytdl отказывал проигрывать аудио...

Основные задачи (порядок работы бота):

1. При запуске Бота, получаем список url со стримами на Youtube (Каналы Радио). Этот список формируется в radio_channels с ключами 'tags' - ключи по которым можно найти тот или иной стрим, и 'url' - с ссылкой на youtube трансляцию.  Это уже реализовано.

2. После получения Каналов, Бот подключается к голосовому каналу "Радио 24/7" (451433414516801557).

3. Команда "Добавить" записывает в очередь трек. Если очередь пуста и радио не играет, воспроизводится только что добавленный трек.

4. По завершению одного трека Бот автоматически запускает воспроизведение следующего по очереди. Если же она пуста, Бот не отключается от голосового канала, но остается в ожидании добавления нового видео в очередь.

5. Раз в 60 минут производится проверка на наличие человек в голосовом канале. Если таковых нет, воспроизведение радио приостанавливается. Текущий трек прерывается, а оставшаяся очередь сохраняется до повторного "запуска" радио или перезапуска Бота. Сам таймер, который с переодичностью в час срабатывает, также реализован.

6. Команда "Радио Канал <Ключ канала>" добавляет в очередь URL из первого элемента массива из переменной radio_channels и сразу запускает его проигрывание.



  1. 3 дні1 500 ₽
    Олег Белохохлов
     91 

    Есть опыт работы с discord.js в контексте музыкальных ботов, сталкивался с подобными проблемами и успешно их решал. Желательно сразу писать в TG: https://t.me/ninele7 .

    Росія Єкатеринбург | 17 січня о 13:21 |