- Опубликовано
Победители конкурса!
- Автор
- Имя
- Счастливый тимлид | ♥ Frontend
- Telegram
- Счастливый тимлид | ♥ Frontend2204 подписчика692 поста
Победители конкурса!
6 сентября я в честь дня рождения канала запустил конкурс. Под постом собралось 37 комментариев, одного победителя я выбрал субъективно — это коммент от @cherkashindev. Кстати, классный канал у Саши, я подписался. А второго выбирал с помощью рандомайзера. Про это и расскажу.
Сначала я думал воспользоваться готовым сервисом, но вспомнил, что я еще и программист, так почему бы не состряпать скриптец самому? Я полез искать как через апи забрать все комменты, но там было как-то сложно, поэтому я вспомнил про мой любимый веб. Здесь пригодилась веб-версия телеграма, где можно через const nodeList = document.querySelectorAll('.name')
спарсить почти все ноды с участниками.
Дальше дело техники:
— Список нод превращаю в массив и вытаскиваю из них текст: const names = [...nodeList].map(n => n.innerText)
— В список не попали те, кто отправлял стикеры, поэтому пушу их туда руками: names.push('Ruslan') и т.д.
— Затем убираю себя, первого победителя и дубликаты с помощью фильтра и сета:
const players = [...new Set(names.filter(n => !n.includes('Счастливый тимлид') && !n.includes('cherkashin')))]
Победителя можно выбрать с помощью простого рандома по массиву:
array[Math.floor(Math.random() * array.length)]
Чтобы ожидание результата было более интригующим пишу незамысловатую функцию с обратным отсчетом:
JavaScriptconst getRandom = (array) => { let time = 10; const timer = setInterval(() => { if (--time === 0) { console.log('Победитель:' + array[Math.floor(Math.random() * array.length)]) clearInterval(timer) return } console.log('До выяснения победителя ' + time + ' секунд'); }, 1000) }
и запускаю:
getRandom(players)
Результат:
До выяснения победителя 9 секунд
До выяснения победителя 8 секунд
До выяснения победителя 7 секунд
До выяснения победителя 6 секунд
До выяснения победителя 5 секунд
До выяснения победителя 4 секунд
До выяснения победителя 3 секунд
До выяснения победителя 2 секунд
До выяснения победителя 1 секунд
С победителями я уже связался. Они оказались из Москвы и Курска, поэтому книжки в ближайшие дни пойду отправлять на почту!
Спасибо всем за участие
Предыдущий пост
- Опубликовано
В эти выходные поставил еще одну галочку —...
Следующий пост
- Опубликовано
❗️❗️❗️❗️ Ночной деплой
Закрепленные
Из подборки #frontend
- Опубликовано
Как сделать страницу с халявой и промокодами
- Опубликовано
Встречайте геймификацию в комментах
- Опубликовано
Когда проще завайбкодить чем нагуглить
- Опубликовано
Телеграмовский сосун (или какун, как правильно?)
- Опубликовано
Итоги
- Опубликовано
Поделитесь вашими любимыми мемами уходящего года
Свежие посты
- Опубликовано
Как сделать страницу с халявой и промокодами
- Опубликовано
Встречайте геймификацию в комментах
- Опубликовано
Когда проще завайбкодить чем нагуглить
- Опубликовано
весёлая дискуссия в канале Деплой о резюме
- Опубликовано
Жизнь по скраму
- Опубликовано
не забудь завести будильник
- Опубликовано
Каникулы в регионе без интернета
- Опубликовано



