preg_replace('/\[.*?\]\s?/', '', '123 [132] 123 [132]');
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()}
}
});
.todo-list-item.done {
text-decoration: line-through;
}
state = {
done: false,
};
onLabelClick = () => {
this.setState({
done: true
});
};
render() {
return (
<div className={'todo-list-item' + (this.state.done ? ' done' : '')} onClick={this.onLabelClick}>text</div>
);
}
http://value.mysite.com/6635664/ert
http://value.mysite1.com
http://value.mysite2.com/6639204/gty
http://mysite.com/6635664/ert
http://value.mysite1.com/6633264/iop
http://value.mysite2.com/6639204/gty
http://value.mysite.com/6635664/ert
mysite1.com/6633264/iop
http://value.mysite2.com/6639204/gty
http://value.mysite.com/6635664/ert
value.mysite1.com/6633264/iop
http://value.mysite2.com/6639204/gty
(?s)^.*?([0-9a-z-]+)\.[0-9a-z-]+\.[a-z]+\/?.*?$
$1
^.*?([0-9a-z-]+)\.[0-9a-z-]+\.[a-z]+\/?.*?$
value
value
value
value
value
value
value
value
value
value
$_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;
}
(@\w+?)#(\d+)
<a href="/profile/$2" rel="nofollow">$1</a>
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 });
}
);