let amount_RUR = 1000; // тысяча рублей
let BTC_USD = 31565.60; // сколько USD за 1 BTC
let USD_RUR = 75.04; // сколько рублей за 1 USD
let margin = 0.05; // моя комиссия от вашей сделки 5%
let result = (1 - margin) * amount_RUR / USD_RUR / BTC_USD; // вам
let fee = margin * amount_RUR / USD_RUR / BTC_USD; // мне
const onClick = (event) => {
const className = '_select--opened';
const etClassList = event.target.classList;
const is_on = etClassList.contains(className); // уже был включён?
$select.forEach((el) => el.classList.remove(className)); // всем убрать
if (! is_on) etClassList.add(className); // кликнутому поставить
}
$select.forEach((el) => el.addEventListener('click', onClick));
setWebhook()
(документация) и назначить URL вашего сервера, куда будут приходить уведомления именно этого бота. Например https://api.example.com/webhook/{bot_id}
где bot_id – id бота в вашей БД. $fd
подключения, в колонках держать 1/0 на каждый из 1000 каналов, или просто перечислить номера каналов через разделитель в единственном строковом поле.-i "concat:video1.ts|video2.ts" -c copy
очень быстра.сначала перевожу в mp4, потом в tsэти два действия должны быть одним (см. по ссылке выше):
.active
:console.log(`Card ${key + 1} start!`);
el.classList.add('active');
console.log(`Card ${key + 1} end!`); // выполнится почти одновременно с предыдущими строками
setTimeout
на то же время, что длится анимация:console.log(`Card ${key + 1} start!`);
el.classList.add('active');
setTimeout(() => console.log(`Card ${key + 1} end!`), 1000);
el.addEventListener('transitionend', () => {
console.log(`Card ${key + 1} end!`);
});
setTimeout(() => {
console.log(`Card ${key + 1} start!`);
const onTransitionEnd = () => {
console.log(`Card ${key + 1} end!`);
el.removeEventListener('transitionend', onTransitionEnd);
}
el.addEventListener('transitionend', onTransitionEnd);
el.classList.add('active');
}, ms);
const wrapper = () => {
const $$$ = {
get activatedFilters() {
return document.querySelectorAll(".chose");
}
}
a.addEventListener("click", () => {
// делает что-то с $$$.activatedFilters
}
b.addEventListener("click", () => {
// делает что-то другое с $$$.activatedFilters
}
}
const wrapper = () => {
const getActivatedFilters = () => document.querySelectorAll(".chose");
a.addEventListener("click", () => {
// делает что-то с getActivatedFilters()
}
b.addEventListener("click", () => {
// делает что-то другое с getActivatedFilters()
}
}
id
записи в БД, которую надо обработать – чтобы рабочий, взявший задачу, заново собирал данные. Это не кошерно и калорийно.const result = grop.reduce((acc, el) => acc.concat(el, city.filter((c) => c.idMain === el.idParent)), []);
/*
[
{
"name": "merseded",
"groupName": "avto",
"idParent": "11"
},
{
"name": "test1",
"idMain": "11"
},
{
"name": "test2",
"idMain": "11"
},
{
"name": "test4",
"idMain": "11"
},
{
"name": "bmv",
"groupName": "avto",
"idParent": "20"
},
{
"name": "test3",
"idMain": "20"
}
]
*/