Промокод на бесплатную книгу из списка

Надоело выбирать не взятые книги из кучи взятых, поэтому дал ChatGPT задачу написать скрипт для (grease/tampermonkey), который фильтрует только неполученные книги на странице акции. Скрипт не идеальный и скрытие 2, 3 и т.д. страниц, с которых все книги уже взяты занимает пару сек. Юзать скрипт на свой страх и риск.
JavaScript:
// ==UserScript==
// @name         Litres universal filter + prune empty pagination pages
// @namespace    http://tampermonkey.net/
// @version      1.8
// @description  Filter books and hide pagination pages without visible books on litres.ru SPA
// @match        *://litres.ru/*
// @match        *://*.litres.ru/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const SHOW_LABEL = 'Взять себе';
    const HIDE_LABELS = ['Читать', 'Слушать'];

    // Cache for checked pages: page number => true if has visible books, false if none
    const pageCheckCache = {};

    // Selectors
    const BOOK_SELECTOR = 'div[role="group"][data-testid="art__wrapper"]';
    const PAGINATOR_LINK_SELECTOR = 'div.PaginatedContent-module__7njuza__pages a[href*="?page="]';

    // Utility: Check if element or any child contains exact label
    function containsLabel(el, label) {
        if (!el) return false;
        if (el.textContent && el.textContent.trim() === label) return true;
        for (const child of el.children) {
            if (containsLabel(child, label)) return true;
        }
        return false;
    }

    // Find label text inside a book element
    function findLabelInBook(bookEl) {
        const selectors = ['button', '[role="button"]', '[data-testid*="button"]'];
        for (const sel of selectors) {
            const candidates = bookEl.querySelectorAll(sel);
            for (const candidate of candidates) {
                const text = candidate.textContent.trim();
                if (text === SHOW_LABEL) return SHOW_LABEL;
                if (HIDE_LABELS.includes(text)) return text;
                if (containsLabel(candidate, SHOW_LABEL)) return SHOW_LABEL;
                if (HIDE_LABELS.some(lbl => containsLabel(candidate, lbl))) {
                    return HIDE_LABELS.find(lbl => containsLabel(candidate, lbl));
                }
            }
        }
        return null;
    }

    // Filter books on current page and return count of visible books
    function filterBooks() {
        const books = document.querySelectorAll(BOOK_SELECTOR);
        let visibleCount = 0;
        books.forEach(book => {
            const label = findLabelInBook(book);
            if (label === SHOW_LABEL) {
                book.style.display = '';
                visibleCount++;
            } else {
                book.style.display = 'none';
            }
        });
        return visibleCount;
    }

    // Check an external page by URL if it contains any visible books
    // Loads page in hidden iframe, filters, counts visible, returns Promise<boolean>
    function checkPageHasVisibleBooks(url) {
        return new Promise((resolve) => {
            const pageNum = (new URL(url, location.href)).searchParams.get('page') || '1';
            if (pageCheckCache[pageNum] !== undefined) {
                resolve(pageCheckCache[pageNum]);
                return;
            }

            // Create hidden iframe
            const iframe = document.createElement('iframe');
            iframe.style.position = 'fixed';
            iframe.style.left = '0';
            iframe.style.top = '0';
            iframe.style.width = '0';
            iframe.style.height = '0';
            iframe.style.border = 'none';
            iframe.style.visibility = 'hidden';
            iframe.src = url;

            document.body.appendChild(iframe);

            iframe.onload = () => {
                try {
                    const doc = iframe.contentDocument || iframe.contentWindow.document;
                    const bookEls = doc.querySelectorAll(BOOK_SELECTOR);
                    let hasVisible = false;

                    bookEls.forEach(book => {
                        const label = findLabelInBook(book);
                        // Only consider visible books as ones labeled SHOW_LABEL
                        if (label === SHOW_LABEL) {
                            hasVisible = true;
                        }
                    });

                    pageCheckCache[pageNum] = hasVisible;
                    document.body.removeChild(iframe);
                    resolve(hasVisible);
                } catch(e) {
                    // Cross-origin or other errors, keep page visible
                    document.body.removeChild(iframe);
                    resolve(true);
                }
            };

            // In case iframe loading fails after 10s, assume visible
            setTimeout(() => {
                if (document.body.contains(iframe)) {
                    document.body.removeChild(iframe);
                    resolve(true);
                }
            }, 10000);
        });
    }

    // Prune pagination links that lead to pages with no visible books
    async function prunePagination() {
        const paginator = document.querySelector('div.PaginatedContent-module__7njuza__pages, div[data-testid="paginator--wrapper"]');
        if (!paginator) return;

        const links = paginator.querySelectorAll(PAGINATOR_LINK_SELECTOR);
        if (!links.length) return;

        for (let link of links) {
            const href = link.getAttribute('href');
            if (!href) continue;

            const pageNumMatch = href.match(/[?&]page=(\d+)/i);
            if (!pageNumMatch) continue;

            const pageNum = pageNumMatch[1];

            // Skip current page link or active page as removing it would confuse user
            if (link.closest('li')?.classList.contains('Paginator-module__g51rda__page_active')) continue;

            try {
                const visible = await checkPageHasVisibleBooks(href);

                if (!visible) {
                    // Remove the entire list item if possible to keep UI consistent
                    const li = link.closest('li');
                    if (li) {
                        li.remove();
                    } else {
                        link.remove();
                    }
                    console.log(`Removed pagination page ${pageNum} (empty after filtering)`);
                }
            } catch (e) {
                // On error keep link visible
                console.warn('Error checking pagination page', href, e);
            }
        }
    }

    // Main filtering + pagination prune orchestrator
    async function mainFilterCycle() {
        filterBooks();
        await prunePagination();
    }

    // Debounce helper
    let debounceTimeout;
    function debouncedMainFilter(delay=300) {
        if (debounceTimeout) clearTimeout(debounceTimeout);
        debounceTimeout = setTimeout(mainFilterCycle, delay);
    }

    // Setup mutation observer to watch for content and pagination changes
    function setupObservers() {
        const container = document.querySelector('div[data-testid="collection__content--wrapper"], div.PaginatedContent-module__7njuza__wrapper');
        if (!container) return;

        const observer = new MutationObserver(() => {
            debouncedMainFilter();
        });
        observer.observe(container, {childList: true, subtree: true});
    }

    // Patch SPA navigation events (history API)
    function patchHistoryAndSetup() {
        const origPush = history.pushState;
        history.pushState = function(...args) {
            origPush.apply(this, args);
            window.dispatchEvent(new Event('locationchange'));
        };

        const origReplace = history.replaceState;
        history.replaceState = function(...args) {
            origReplace.apply(this, args);
            window.dispatchEvent(new Event('locationchange'));
        };

        window.addEventListener('popstate', () => window.dispatchEvent(new Event('locationchange')));

        window.addEventListener('locationchange', () => {
            // Slight delay for SPA content to render
            setTimeout(() => {
                debouncedMainFilter();
                setupObservers();
            }, 500);
        });
    }

    // Initial run on page load
    window.addEventListener('load', () => {
        patchHistoryAndSetup();
        setupObservers();
        debouncedMainFilter();
    });

    // Run ASAP if script loaded late
    if (document.readyState === 'complete') {
        patchHistoryAndSetup();
        setupObservers();
        debouncedMainFilter();
    }

})();
Кстати, обновилась вроде подборка https://mipped.com/f/threads/promokod-na-besplatnuyu-knigu-iz-spiska.57669/post-5968279
 
edadeal20j - 1 книга из подборки https://www.litres.ru/collections/luchshie-istorii-priyatnye-skidki-chitay-s-litres-i-edadil/


Дополнение к прошлому списку обновлённых подборок (проверял сегодня):

2 книги за каждый промокод:
SOGAZMED - подборка https://www.litres.ru/collections/2-knigi-v-podarok-ot-litres-i-sogaz-med/
PRO32 - подборка https://www.litres.ru/collections/2-knigi-iz-podborki-v-podarok-i-skidka-20-ot-pro32-i-litres/
MVIDEO - подборка https://www.litres.ru/collections/mvideo-i-litres-daryat-2-knigi-v-podarok-iz-etoy-podborki/
AIRO25 - подборка https://www.litres.ru/collections/airo-i-litres-podgotovili-podarok/
MAMAGOODS - подборка https://www.litres.ru/collections/mamagoods-i-litres-podgotovili-podarok/
OKMARKET25 - подборка https://www.litres.ru/collections/o-key-h-litres-daryat-2-knigi-iz-podborki/
AHMADTEA25 - подборка https://www.litres.ru/collections/ahmad-tea-h-litres-podgotovili-podborku-knig-s-podarkom/

1 книга за каждый промокод:
SVOERODNOE - подборка https://www.litres.ru/collections/svoe-rodnoe-h-litres/
hd5oppw25 - подборка https://www.litres.ru/collections/knigi-dlya-oprosa-podborka-na-lending/
RUSSIA25 - подборка https://www.litres.ru/collections/kniga-v-podarok-iz-podborki-uzhe-dostupna-dlya-vas/
ZAZDOROVOE - подборка https://www.litres.ru/collections/za-zdorovoe-zavtra-h-litres/
KARI2025 - подборка https://www.litres.ru/collections/kari-h-litres/
BULANTISHOP - подборка https://www.litres.ru/collections/bulanti-shop-h-litres/
BAON - подборка https://www.litres.ru/collections/baon-2025/
UNIVERSE25 - подборка https://www.litres.ru/collections/podborka-fantasticheskih-knig/
book2025 - подборка https://www.litres.ru/collections/bazis-nedvizhimost-h-litres/
SPORTMASTER25 - подборка https://www.litres.ru/collections/sportmaster-h-litres-daryat-2-knigi/
MOTHERBEAR - подборка https://www.litres.ru/collections/motherbear-h-litres-podgotovili-podarok/
BERT - подборка https://www.litres.ru/collections/berttoys-h-litres-podgotovili-podarok/
POBEDA - подборка https://www.litres.ru/collections/pobeda-chestnyh-cen-h-litres/
ELECTROSHIELD - подборка https://www.litres.ru/collections/electroshield-h-litres/
AKRONHOLDING - подборка https://www.litres.ru/collections/electroshield-h-litres/
ZARPLATARU - подборка https://www.litres.ru/collections/zarplata-ru-h-litres-podgotovili-podarok/
NAFI2025 - подборка https://www.litres.ru/collections/nafi-h-litres-podgotovili-podborku-knig/
GREENFIELD - подборка https://www.litres.ru/collections/greenfield-club-h-litres/
RANT - подборка https://www.litres.ru/collections/rant-i-litres-podgotovili-knigu-v-podarok/
HALSA25 - подборка https://www.litres.ru/collections/halsa-h-litres-sobrali-podborku-knig/
К подборке https://www.litres.ru/collections/odna-lubaya-kniga-v-podarok-ot-prostokvashino-i-litres/ промокод PROSTOKVASHINO уже не работает, но подборка обновилась.
Обновилась подборка http://litres.ru/kollekcii-knig/podarok-ot-litres-i-fabriki-detskoy-mebeli-drug-kuzya/
Обновилась подборка https://www.litres.ru/collections/podborka-knig-ot-doshirak-h-litres/ (промокоды, скорее всего, одноразовые), лендинг - https://www.litres.ru/landing/doshirakmarth25
Обновилась подборка https://www.litres.ru/collections/pochta-bank-h-litres/ (промокоды, скорее всего, одноразовые), лендинг - https://www.litres.ru/landing/pochtabank2025
 
Последнее редактирование:
Не активирует указанную вами. Активирует отсутствующую:
Обновилась подборка https://www.litres.ru/collections/podborka-knig-ot-doshirak-h-litres/ (промокоды, скорее всего, одноразовые), лендинг - https://www.litres.ru/landing/doshirakmarth25
Мегаакция «КЭШБУМ!» «Правила стимулирующего мероприятия «КЭШБУМ!»: https://www.promodoshirak.ru/upload/rules.pdf
Условное наименование Призов: Гарантированный подарок №1
Описание Призов: 1 (один) промо-код на скачивание электронной книги из представленной подборки на сайте www.litres.ru (далее по тексту - промо-код Литрес)
Общее количество призов за Мероприятие, шт.: 2 500 000 (два миллиона пятьсот тысяч)
Условное наименование: Регистрация верного кода
Ограничение по количеству призов для одного участника, шт.: не ограничено.
3. Сроки проведения Мероприятия
3.1. Общий срок проведения Мероприятия: с 01 марта 2025 года по 31 декабря 2025 года.
3.2. Срок, указанный в пункте 3.1 настоящих Правил, включает в себя:
3.2.1. направление и прием заявок на участие в Мероприятии: в период с 00 часов 00 минут 00 секунд по московскому времени 01 марта 2025 года по 23 часа 59 минут 59 секунд по московскому времени 31 августа 2025 года.
 
Последнее редактирование:
  • Like +1
Реакции: Wi90, Cyberia и vores
Не активирует указанную вами. Активирует отсутствующую:

Спасибо, скорректировал список.
---------Двойное сообщение соединено: ---------

ROSKACHESTVO07 - 1 книга из подборки https://www.litres.ru/collections/k...estva-i-litres-knizhnaya-polka-n-12-2025-god/
 
Вроде как обновилась подборка https://www.litres.ru/collections/wikireading2025/ и ещё 2 смежные похоже, ибо когда забрал оттуда 3 книги у меня было 21 акция (подборка) доступна, а стало 18.
Вы правы. Были обновления. Код в названии. Также ввел 2 кода от приветМИР, Выдают код на номер телефона, карту МИР создал в Юмани, возможно и без карты дадут код, если её пропустить при регистрации. https://www.litres.ru/collections/223119/

Гетфоклик как всегда 3 кода дал и скрыл акцию https://www.litres.ru/collections/darim-3-knigi-iz-podborki/
Просто открыть любую акцию, заменить её номер в конце на 2541 и будут книги.
Озон Премиум обновилась: https://www.litres.ru/collections/podarki-polzovatelyam-ozon-premium/

Абоненты Т2 получите 5 книг в подарок: https://www.litres.ru/collections/t2-i-litres-daryat-podarki/
В День рождения тоже дарят код: https://www.litres.ru/collections/tele2-pozdravlyaet-vas-s-dnem-rozhdeniya/

BANKPOIDEMh2242 https://www.litres.ru/collections/bank-poydem-i-litres-daryat-podarki-199534/
Старые коды тоже работают: BANKPOIDEMh2243, BANKPOIDEM2024, POIDEM2024, BANKPOIDEM1
 
Последнее редактирование:
bookshelf - 1 книга из подборки https://www.litres.ru/collections/e-bookshelf/
ROSNEFT25 - 1 книга из подборки https://www.litres.ru/collections/lubaya-kniga-v-podarok-iz-etoy-podborki/



Третья волна обновления подборок (в список также включены те, что выше упомянули megalol и Niii)

По 1 книге за каждый промокод:
wikireading2025 - подборка https://www.litres.ru/collections/wikireading2025/
BANKPOIDEMh2242 - подборка https://www.litres.ru/collections/bank-poydem-i-litres-daryat-podarki-199534/ (для данной подборки пока действуют и старые промокоды: BANKPOIDEMh2243, BANKPOIDEM2024, POIDEM2024, bankpoidem1 )
Promokodus_study - подборка https://www.litres.ru/collections/promokodus-stydy/
mifjuly - подборка https://www.litres.ru/collections/mif2025/
dreamofhair - подборка https://www.litres.ru/collections/vyberi-knigu-v-podarok-iz-podborki-ot-magazina-volosy-mechty/
morethantrip2025 - подборка https://www.litres.ru/collections/poluchi-knigu-v-podarok-iz-podborki-226549/
fotostrana2025 - подборка https://www.litres.ru/collections/fotostrana2025/
MACARUN2025 - подборка https://www.litres.ru/collections/darim-knigu-v-podarok-iz-podborki-ot-shkoly-makarun/
ROSKACHESTVO0505 - подборка https://www.litres.ru/collections/k...achestva-i-litres-knizhnaya-polka-9-2025-god/
skinlab - подборка https://www.litres.ru/collections/darim-knigu-v-podarok-iz-podborki-ot-skin-lab/
og2025 - подборка https://www.litres.ru/collections/onlayn-gimnaziya-litres/
NOVIKOM - подборка https://www.litres.ru/collections/darim-knigu-iz-podborki-i-skidku-20-na-katalog-litres/
LOGOPOTAM2025 - подборка https://www.litres.ru/collections/logopotam-litres-224434/
halva_may - подборка https://www.litres.ru/collections/fotostrana-may-vremya-novyh-znakomstv/
fevralbeauty - подборка https://www.litres.ru/collections/fevral-beauty-litres/
ROSKACHESTVO0425 - подборка https://www.litres.ru/collections/k...achestva-i-litres-knizhnaya-polka-7-2025-god/
99BALLOV2025 - подборка https://www.litres.ru/collections/darim-knigu-v-podarok-iz-podborki-ot-99-ballov/
NENAPRASNO20 - подборка https://www.litres.ru/collections/blagotvoritelnyy-fond-ne-naprasno-litres/
ALGORITMIKA2025 - подборка https://www.litres.ru/collections/algoritmika-litres/
YOUTRAVELME2025 - подборка https://www.litres.ru/collections/youtravel-me-i-litres-daryat-knigu-dlya-priyatnogo-puteshestviya/
promokodus_june - подборка https://www.litres.ru/collections/fotostrana-may-vremya-novyh-znakomstv/ (промокод promokodus_may к данной подборке уже не работает)

Для подборки https://www.litres.ru/collections/fotostrana-sezon-dach-i-piknikov/ есть два промокода:
GILMON_DACHA - 1 книга (если верить лендингу https://www.litres.ru/landing/GILMON_DACHA )
promokodus_dacha - 2 книги (если верить лендингу https://www.litres.ru/landing/promokodus_dacha )

Истёкшие промокоды, к которым обновились подборки:
AEROFLOT25 - подборка https://www.litres.ru/collections/lubaya-kniga-v-podarok-iz-etoy-podborki/
ROSKACHESTVO425 - подборка https://www.litres.ru/collections/k...a-i-litres-knizhnaya-polka-6-2025-god-222019/
EGELAND - подборка https://www.litres.ru/collections/egeland-litres/
KPRU - подборка https://www.litres.ru/collections/k...daryat-podarki-kniga-iz-podborki-i-15-skidka/
VITMARATHON - подборка https://www.litres.ru/collections/karernyy-marafon-vkusno-i-tochka-litres/
FUTURETODAY - подборка https://www.litres.ru/collections/futuretoday-h-litres-daryat-knigu-iz-podborki/
ROSKACHESTVO0325 - подборка https://www.litres.ru/collections/k...achestva-i-litres-knizhnaya-polka-5-2025-god/
KIDSEV2025 - подборка https://www.litres.ru/collections/poluchi-knigu-v-podarok-ot-kidsev-i-litres/



По 2 книги за каждый промокод:
HB2024 , HB2025 - подборка https://www.litres.ru/collections/russkiy-standart-i-litres-daryat-podarki-ko-dnu-rozhdeniya/
Skyeng25 - подборка https://www.litres.ru/collections/poluchi-2-knigi-v-podarok-iz-podborki/
FOXFORD25 - подборка https://www.litres.ru/collections/darim-2-knigi-v-podarok-iz-podborki-ot-foksford-i-litres/
synergy2025 - подборка https://www.litres.ru/collections/sinergiya-litres/
FARSH2025 - подборка https://www.litres.ru/collections/farsh-litres/
cityads_fest - подборка https://www.litres.ru/collections/cityads-fest/
EDUSON2025 - подборка https://www.litres.ru/collections/vyberi-2-knigi-v-podarok-ot-sovmestnoy-podborki-eduson/
halva_ezoteric - подборка https://www.litres.ru/collections/halva-ezoteric/
CORALB - подборка https://www.litres.ru/collections/coralbonus-sovmestno-s-litres-daryat-dve-knigi-iz-etoy-podborki/
SBER20L - подборка https://www.litres.ru/collections/p...odborki-i-skidka-20-na-katalog-elektronnyh-i/
VTBONLINE - подборка https://www.litres.ru/collections/podarki-polzovatelyam-vtb-onlayn/
TOCHKA2024 - подборка https://www.litres.ru/collections/tochka-i-litres-daryat-dve-knigi-iz-podborki/
20CORAL2 - подборка https://www.litres.ru/collections/otpravsya-v-puteshestvie-vmeste-s-knigami/
CoralBonus20 - подборка https://www.litres.ru/collections/vyberite-lubye-dve-knigi-v-podarok-iz-novoy-podborki-knig/
TEBOIL - подборка https://www.litres.ru/collections/darim-2-knigi-i-skidku-25-ot-litres-i-teboil/
KOMANDA - подборка https://www.litres.ru/collections/rosneft-i-litres-daryat-2-knigi-iz-etoy-podborki-na-vybor/

Подборки с персональными промокодами:
https://www.litres.ru/collections/dve-knigi-iz-etoy-podborki-uzhe-vashi-ostalos-tolko-vybrat/ (лендинг - https://www.litres.ru/landing/rostelecom220 )
https://www.litres.ru/collections/2-knigi-v-podarok-i-skidka-20-ot-servisa-paket-i-litres/ (лендинг - https://www.litres.ru/landing/paketloyalty24 )
https://www.litres.ru/collections/podarki-ot-bonus-parka/ (лендинг - https://www.litres.ru/landing/rostelecom225 )



По 3 книги за каждый промокод:
KOMANDA2025 , ROSNEFT2025 - подборка https://www.litres.ru/collections/lubye-tri-knigi-iz-podborki-vashi-ostalos-tolko-zabrat/

Подборки с персональными промокодами:
https://get4click.ru/ext/MNFAYNA8 - подборка https://www.litres.ru/collections/darim-3-knigi-iz-podborki/
Подборка от Ростелекома (адрес акции мне неизвестен): https://www.litres.ru/collections/novaya-podborka-knig-i-skidka-20-ot-rostelekoma-i-litres/



По 4 книги за каждый персональный промокод:
https://vamprivet.ru/promo/razvlecheniya/knizhnye-miry-v-vashem-smartfone-1/ - подборка https://www.litres.ru/collections/d...orki-ot-litres-i-programmy-loyalnosti-privet/ (лендинг https://www.litres.ru/landing/privetnspk )



По 5 книг за каждый персональный промокод:
https://msk.t2.ru/bolshe/offers?pageParams=category=Podarki - подборка https://www.litres.ru/collections/t2-i-litres-daryat-podarki/ (лендинг - https://www.litres.ru/landing/t2lr )
 
3 книги
KMOILAS76D

До 21 июля.
Для подборки https://www.litres.ru/collections/fotostrana-sezon-dach-i-piknikov/ есть два промокода:
GILMON_DACHA - 1 книга (если верить лендингу https://www.litres.ru/landing/GILMON_DACHA )
promokodus_dacha - 2 книги (если верить лендингу https://www.litres.ru/landing/promokodus_dacha )
Такое же, как лендингах, количество книг указано и в описании акций на сайтах:

По адресной строке подборки нетрудно догадаться, что есть и третий промокод, который элементарно находится по несложной логике.
Подборка от Ростелекома (адрес акции мне неизвестен): https://www.litres.ru/collections/novaya-podborka-knig-i-skidka-20-ot-rostelekoma-i-litres/
Адрес акции - в программе "Бонус" от "Ростелекома", а если вы про лендинг, то он истек: https://www.litres.ru/?rostel2024q1
Бонус от Ростелеком.webp
 
Последнее редактирование:
3 книги
KMOILAS76D

До 21 июля.

По адресной строке подборки нетрудно догадаться, что есть и третий, который элементарно находится по несложной логике.

Адрес акции - в программе "Бонус" от "Ростелекома", а если вы про лендинг, то он истек: https://www.litres.ru/?rostel2024q1
Посмотреть вложение 931900
Написали бы сразу fotostrana_dacha
 
Написали бы сразу fotostrana_dacha
А удовольствие самому решить элементарную задачку (даже если лично вы его не получили)? ;) Да и то, что я написал, равнозначно прямому указанию промокода. Неужто долго ломали голову? :)
А этот третий мне тоже обязательно указывать?:rolleyes:
halva_may - подборка https://www.litres.ru/collections/fotostrana-may-vremya-novyh-znakomstv/
promokodus_june - подборка https://www.litres.ru/collections/fotostrana-may-vremya-novyh-znakomstv/ (промокод promokodus_may к данной подборке уже не работает)
Есть парочка. Срок активации промокода: по 16.07.2025 г. Если кому нужны, пишите в личку.
 
Последнее редактирование:
  • Like +1
Реакции: P4tterN, Wi90 и Cyberia
25AEROFLOT - 2 книги из подборки https://www.litres.ru/collections/2-knigi-v-podarok-iz-podborki-i-skidka-20-uzhe-vashi/
MYDEARFAMILY - 1 книга из подборки https://www.litres.ru/collections/den-idealnoy-semi/
audiokniga1 - 1 аудиокнига из старой по составу подборки https://www.litres.ru/collections/audiokniga-popadancy/

audiokniga30 - скидка 30%
---------Двойное сообщение соединено: ---------

NemeriaBooks - 1 книга из подборки https://www.litres.ru/collections/letnie-podarki-kniga-iz-podborki-ot-nemeria-i-litres/
ROSKACHESTVO077 - 1 книга из подборки https://www.litres.ru/collections/k...estva-i-litres-knizhnaya-polka-n-13-2025-god/
 
Последнее редактирование:
Последнее редактирование:
mkodk34ujf - 2 книги из подборки https://www.litres.ru/collections/2-knigi-v-podarok-i-skidka-30-ot-litres-i-mnogo-ru-v-iule-228980/
bookpicnic2025 - 1 книга из подборки https://www.litres.ru/collections/p...o-festivalya-piknik-knig-na-ploschadi-solnca/
fotostrana_trud - 1 книга из подборки https://www.litres.ru/collections/fotostrana-lubov-tozhe-rabota/
fotostrana_may - 1 книга из подборки https://www.litres.ru/collections/fotostrana-may-vremya-novyh-znakomstv/
---------Двойное сообщение соединено: ---------

INTROVERTGIFT - 2 книги из подборки https://www.litres.ru/collections/2-knigi-iz-podborki-besplatno-i-skidka-20-na-ves-katalog/
По составу данная подборка идентична подборке https://www.litres.ru/collections/2-knigi-iz-podborki-v-podarok-i-skidka-25-ot-topgo-i-litres/ (промокод TOPGOFREE) + есть книга "Эллиот" https://www.litres.ru/book/maya-sara/elliot-71432374/
---------Двойное сообщение соединено: ---------

SendSayGift - 2 книги из подборки https://www.litres.ru/collections/2-knigi-v-podarok-iz-podborki-i-skidka-20-ot-sendsay-i-litres/
wowquiz25 - 2 книги из подборки https://www.litres.ru/collections/2-knigi-v-podarok-iz-podborki-i-skidka-20-ot-vau-kviz-i-litres/
 
Последнее редактирование:
https://get4click.ru/ext/MNFAYNA8 - подборка https://www.litres.ru/collections/darim-3-knigi-iz-podborki/
По данной ссылке из поста выше выбил +3 месяца подписки (3 промика по 1 месяцу) помимо самих книг
Система дает активировать 4 промокода на Литрес Подписку, потом пишет "Вы уже активировали данный промокод".
 
  • Sad
  • Like +1
Реакции: z-x и Niii
Система дает активировать 4 промокода на Литрес Подписку, потом пишет "Вы уже активировали данный промокод".
Флоктори только раз или два даёт 2 месяца подписки, но теперь требует подтвердить телефон:mad: не могу проверить.
 
Флоктори только раз или два даёт 2 месяца подписки, но теперь требует подтвердить телефон:mad: не могу проверить.
У меня не получилось активировать. Купон там только для новых подписчиков...
flo2SUBq5pn4