let connection = message.member.voice.channel.join()
вверху в одной области видимости, а при вызове if(song === 1){ play(connection, song)}
передаете туда эту же переменную из другой области видимости. Конечно же она будет undefinedlet connection;
client.on('message', async message => {
if (!message.guild) return;
if (message.content === '/join') {
if (message.member.voice.channel) {
connection = message.member.voice.channel.join();
return message.channel.send('Подключено');
} else {
return message.channel.send('Вы должны сначала подключится к голосовому чату')
}
}
});
client.on('message', async message =>{
if(message.content === "/help"){
return message.channel.send(' ``` /help - помощь по командам\n /join - присоединится к голосовому чату(Вы должны быть подключены к голосовому чату)\n /play - воспроизведение музыки ``` ');
}
});
async function play(song) {
let music = await ytdl(song, {filter: 'audioonly'})
connection.playStream(music, {valume: 0.5})
.on('end', () =>{
songs.shift()
if(songs.length > 0) play(song)
else connection.disconnect()
})
}
client.on('message', async message =>{
if(message.content === "/play"){
var song = "https://www.youtube.com/watch?v=2ncEBRUmc_w&list=RDw1IYWHHI2-E&index=2";
if(song === 1){ play(song)}
else{connection.disconnect()}
}
});
$_SESSION['last_submit'] = time();
if (isset($_SESSION['last_submit']) && time() - $_SESSION['last_submit'] <= 60 * 1000 * 10) {
return false;
}
$(document).ready(function () {
$('#menu .dropdown >.dropdown-menu').on(
{
mouseenter: function () {
$("#menu .dropdown .dropdown-toggle").after('<div id="menu_background"></div>');
},
mouseout: function () {
$("#menu_background").remove();
}
}
);
});
var errors = "";
//проверка мыла
if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(email) || !email){
errors += '<div class="help-block has-error">Пожалуйста, введите корректный E-mail</div>';
}
//правила
if(!rules){
errors += '<div class="help-block has-error">Вы не согласились с правилами</div>';
}
if (errors) {
$(".help-block").remove();
$('').append(errors);
return;
}
ymaps.ready(
() => {
let Map = new ymaps.Map('map', {
center: [55.753994, 37.622093],
zoom: 10
}),
objectManager = new ymaps.ObjectManager({
clusterize: true,
gridSize: 32,
}),
dots = [
{
"type": "Feature",
"id": 1,
"geometry": {
"type": "Point",
"coordinates": [54.753215, 36.622504]
},
"icon": "darkGreenDotIcon",
"address": "Москва",
"properties": {
'iconCaption': "caption",
'balloonContentBody': "Balloon",
}
},
{
"type": "Feature",
"id": 2,
"geometry": {
"type": "Point",
"coordinates": [53.753215, 34.622504]
},
"icon": "darkGreenDotIcon",
"address": "Брянск",
"properties": {
'iconCaption': "caption",
'balloonContentBody': "Balloon",
}
},
{
"type": "Feature",
"id": 3,
"geometry": {
"type": "Point",
"coordinates": [55.753215, 37.622504]
},
"icon": "darkGreenDotIcon",
"address": "Санкт-Петербург",
"properties": {
'iconCaption': "caption",
'balloonContentBody': "Balloon",
}
}
];
Map.geoObjects.add(objectManager);
objectManager.add({
"type": "FeatureCollection",
"features": dots
});
Map.setBounds(objectManager.getBounds(), { checkZoomRange: true });
}
);