Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Разрабатываю под интеграцию со своим сайтом собственного 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. Команда "Радио Канал

5 лет назад
idaspin
Антон 
27 летРоссия
9 лет в сервисе
Был
5 лет назад