[html]
<div class="cf-updates">
<div class="cf-updates-hero">
<div class="cf-updates-kicker"><i class="fa fa-magic"></i> обновления форума</div>
<h2 class="cf-updates-title">Большое техническое обновление форума</h2>
<p class="cf-updates-lead">
У нас тут накопился не просто пакет обновлений, а почти что маленькая технологическая революция. Мы много чего подкрутили, автоматизировали, сделали симпатичнее, удобнее для игроков и амс. Рассказываем подробнее, что изменилось.
</p>
</div>
<div class="cf-tabs">
<input type="radio" name="cf-update-tab" id="cf-tab-roleform" checked>
<input type="radio" name="cf-update-tab" id="cf-tab-lz">
<input type="radio" name="cf-update-tab" id="cf-tab-requests">
<input type="radio" name="cf-update-tab" id="cf-tab-tracker">
<input type="radio" name="cf-update-tab" id="cf-tab-login">
<input type="radio" name="cf-update-tab" id="cf-tab-absence">
<input type="radio" name="cf-update-tab" id="cf-tab-bank">
<input type="radio" name="cf-update-tab" id="cf-tab-games">
<input type="radio" name="cf-update-tab" id="cf-tab-shop">
<input type="radio" name="cf-update-tab" id="cf-tab-pages">
<input type="radio" name="cf-update-tab" id="cf-tab-counters">
<input type="radio" name="cf-update-tab" id="cf-tab-chrono">
<input type="radio" name="cf-update-tab" id="cf-tab-fandom">
<input type="radio" name="cf-update-tab" id="cf-tab-bookmarks">
<input type="radio" name="cf-update-tab" id="cf-tab-masks">
<input type="radio" name="cf-update-tab" id="cf-tab-comfort">
<input type="radio" name="cf-update-tab" id="cf-tab-hotkeys">
<input type="radio" name="cf-update-tab" id="cf-tab-ams">
<input type="radio" name="cf-update-tab" id="cf-tab-bugs">
<div class="cf-tabs-nav">
<label for="cf-tab-roleform"><i class="fa-solid fa-shield-heart"></i> Бронь и подача анкеты</label>
<label for="cf-tab-lz"><i class="fa fa-id-card"></i> Заполнение личного звания</label>
<label for="cf-tab-requests"><i class="fa-solid fa-clipboard"></i> Работа с заявками</label>
<label for="cf-tab-tracker"><i class="fa fa-list-alt"></i> Трекер и размещения</label>
<label for="cf-tab-login"><i class="fa-solid fa-arrow-pointer"></i> Автовход</label>
<label for="cf-tab-absence"><i class="fa-solid fa-person-walking-arrow-right"></i> Запись в отсутствие</label>
<label for="cf-tab-bank"><i class="fa fa-university"></i> Банк и кошелек</label>
<label for="cf-tab-games"><i class="fa fa-gamepad"></i> Игротека и лотерея</label>
<label for="cf-tab-shop"><i class="fa fa-shopping-cart"></i> Магазин</label>
<label for="cf-tab-pages"><i class="fa fa-user"></i> Личные страницы</label>
<label for="cf-tab-counters"><i class="fa fa-calculator"></i> Счетчики</label>
<label for="cf-tab-chrono"><i class="fa fa-calendar"></i> Хронология</label>
<label for="cf-tab-fandom"><i class="fa fa-filter"></i> Навигация по эпизодам</label>
<label for="cf-tab-bookmarks"><i class="fa fa-bookmark"></i> Обновленные закладки</label>
<label for="cf-tab-masks"><i class="fa fa-user-secret"></i> Маски</label>
<label for="cf-tab-comfort"><i class="fa fa-heart"></i> Остальное</label>
<label for="cf-tab-hotkeys"><i class="fa-solid fa-fire"></i> Горячие клавиши</label>
<label for="cf-tab-ams"><i class="fa fa-cogs"></i> Для АМС</label>
<label for="cf-tab-bugs"><i class="fa fa-bug"></i> Что-то сломалось</label>
</div>
<div class="cf-panels">
<section class="cf-panel cf-panel-roleform">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa-solid fa-shield-heart"></i></div>
<h3 class="cf-panel-title">Бронь и подача анкеты</h3>
</div>
<div class="cf-panel-body">
<div class="cf-subsection">
<div class="cf-subsection-head">
<div class="cf-subsection-icon"><i class="fa-solid fa-shield-heart"></i></div>
<h3 class="cf-subsection-title">Автобронь ролей</h3>
</div>
<div class="cf-subsection-body">
<p>Модуль гостевой позволяет:</p>
<ul>
<li>забронировать одну роль или сразу несколько персонажей пачкой;</li>
<li>выбрать фандом через автоподсказку — начинаете вводить название, а список сам предлагает варианты;</li>
<li>если несколько персонажей идут из одного фандома, можно заполнить целиком первую строку и нажать «мы из одного фандома»;</li>
<li>для гостей бронь автоматически оформляется на сутки;</li>
<li>для зарегистрированных пользователей бронь оформляется на 3 дня;</li>
<li>продления считаются автоматически: максимум 2 продления по 3 дня;</li>
<li>подтвержденные покупки ролей попадают в список со сроками, а истекшие записи убираются при обновлении.</li>
</ul>
<div class="cf-panel-note">
Если бронируете несколько ролей из разных фандомов, просто добавляйте строки и заполняйте нужные фандомы отдельно. Кнопка «мы из одного фандома» заполняет только пустые поля по предыдущему указанному фандому.
</div>
</div>
</div>
<div class="cf-subsection">
<div class="cf-subsection-head">
<div class="cf-subsection-icon"><i class="fa-solid fa-clipboard"></i></div>
<h3 class="cf-subsection-title">Подача анкеты</h3>
</div>
<div class="cf-subsection-body">
<p>Конструктор анкеты:</p>
<ul>
<li>автоматически собирает готовый BB-код анкеты из заполненных полей;</li>
<li>показывает предпросмотр анкеты перед публикацией;</li>
<li>хранит черновик в браузере на устройстве пользователя;</li>
<li>автоматически подставляет общие данные анкеты в дополнительные коды;</li>
<li>считает лимит символов для личного звания;</li>
<li>содержит встроенную BBCode-панель для оформления текста анкеты.</li>
</ul>
<div class="cf-panel-note">
Алгоритм подачи анкеты остается прежним: заполняете анкету → ждете принятия → после принятия скидываете ЛЗ.
</div>
<div class="cf-links-row">
<a class="cf-button" href="https://crossfeeling.ru/viewtopic.php?id=33#p120"><i class="fa-solid fa-link"></i> Шаблон анкеты</a>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-lz">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-id-card"></i></div>
<h3 class="cf-panel-title">Заполнение личного звания</h3>
</div>
<div class="cf-panel-body">
<p>Личное звание, иконку в профиле и плашку можно поменять самостоятельно — без участия администрации.</p>
<div class="cf-links-row">
<a class="cf-button" href="https://crossfeeling.ru/viewtopic.php?id=12744#p1113483"><i class="fa-solid fa-link"></i> Перейти к обновлению профиля</a>
</div>
<div class="cf-panel-note">
Исключение — смена роли. В этом случае все еще нужно участие администрации.
</div>
<p><b>Как поменять ЛЗ?</b></p>
<ul>
<li>переходите в тему «Обновление профиля // ЛЗ, плашки, иконки» по кнопке выше;</li>
<li>инструкция внутри темы.</li>
</ul>
<p><b>Как поменять плашку и иконку?</b></p>
<ul>
<li>переходите в ту же тему по кнопке выше;</li>
<li>выбираете вкладку «Примерочная»;</li>
<li>редактируете текст плашки, меняете фон или выбираете новую иконку из галереи;</li>
<li>сначала нажимаете «Посмотреть», затем — «Сохранить»;</li>
<li>немного ждете: обновление тоже происходит не сразу, ход замены будет виден в логах.</li>
</ul>
</div>
</div>
</section>
<section class="cf-panel cf-panel-requests">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa-solid fa-clipboard"></i></div>
<h3 class="cf-panel-title">Работа с заявками</h3>
</div>
<div class="cf-panel-body">
<p>В каждой теме подфорума <b>FOR WHOM THE BELL TOLLS</b> над формой ответа есть конструктор заявки.</p>
<p>Для тех, кто все-таки привык к кодам, шаблоны сохранили в шапках тем.</p>
</div>
</div>
</section>
<section class="cf-panel cf-panel-tracker">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-list-alt"></i></div>
<h3 class="cf-panel-title">Трекер и размещения</h3>
</div>
<div class="cf-panel-body">
<p>В «Ностальгируй и зарабатывай» был запрос, чтобы сроки размещения заявок на каталогах, а также внутри форума — в шапке гостевой, рекламной теме и так далее — были публичны. Мы понимаем, почему возникают такие просьбы, поэтому прислушались и создали вот такого зверя.</p>
<ul>
<li>показывает, какие заявки уже взяты в работу для размещения на каталогах;</li>
<li>показывает дату запланированного размещения;</li>
<li>отмечает публикации на Маяке, Лиле и Рено;</li>
<li>показывает полностью отработанные заявки;</li>
<li>отправляет в архив то, что исчезло из исходных тем.</li>
</ul>
<div class="cf-panel-note">
Отдельно видно, когда мы отработали ваши заявки в блоке «их ждут», подписи пиар-профиля, гостевой теме и шапке рекламы с указанием срока.
</div>
<div class="cf-panel-note">
Для игроков трекер работает в режиме просмотра. Данные подсасываются из стороннего хранилища, поэтому дайте ему немного времени перед загрузкой.
</div>
<div class="cf-links-row">
<a class="cf-button" href="https://crossfeeling.ru/viewtopic.php?id=13319"><i class="fa-solid fa-link"></i> Открыть трекер</a>
</div>
<p><b>Размещения из банка</b></p>
<p>Карточки в «их ждут» и гостевой теперь появляются сами: вы оплачиваете размещение через банк, АМС проверяет и подтверждает, и карточка выходит на форум. Переносить данные из заявки в код вручную больше не нужно.</p>
<ul>
<li>в «их ждут» карточка стоит 2 недели, в остальных местах — неделю;</li>
<li>срок идет с момента подтверждения АМС;</li>
<li>если оплатить ту же заявку снова, срок продлится, а второй карточки не появится.</li>
</ul>
</div>
</div>
</section>
<section class="cf-panel cf-panel-login">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa-solid fa-arrow-pointer"></i></div>
<h3 class="cf-panel-title">Автовход и выгул твинков</h3>
</div>
<div class="cf-panel-body">
<p>Благодаря legume теперь выгулять твинков можно буквально в два клика.</p>
<ul>
<li>нажимаете «Смена профиля»;</li>
<li>выбираете «Выгулять всех твинков»;</li>
<li>наслаждаетесь жизнью, в которой не нужно вручную прыгать по каждому аккаунту.</li>
</ul>
<div class="cf-panel-note">
Следующая тема выгула теперь подтверждается автоматически, поэтому прогулки не зависают в ожидании проверки.
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-absence">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa-solid fa-person-walking-arrow-right"></i></div>
<h3 class="cf-panel-title">Запись в отсутствие</h3>
</div>
<div class="cf-panel-body">
<p>В теме уходов над формой ответа появилась специальная панель для записи в отсутствие или лоу. Она сама собирает запись в нужном формате и вставляет ее в форму ответа.</p>
<ul>
<li>можно выбрать статус: отсутствие или лоу;</li>
<li>можно поставить максимальный срок на месяц или выбрать свою дату;</li>
<li>ник текущего персонажа подставляется автоматически, но его можно отредактировать вручную;</li>
<li>твинки подтягиваются отдельным списком;</li>
<li>можно записать в отсутствие сразу основу и выбранных твинков одной строкой.</li>
</ul>
</div>
</div>
</section>
<section class="cf-panel cf-panel-bank">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-university"></i></div>
<h3 class="cf-panel-title">Банк и кошелек</h3>
</div>
<div class="cf-panel-body">
<p>У нас появился более симпатишный и функциональный банк. Для игроков изменения могут показаться не такими уж огромными, но в части админской работы это прям прорыв. И нет, не трубы.</p>
<ul>
<li>визуал стал аккуратнее и приятнее;</li>
<li>появилась корзина — теперь видно, что именно вы заказали;</li>
<li>банк сам считает посты и часть других данных, которые можно подхватить из профиля;</li>
<li>у определенных позиций появились коэффициенты;</li>
<li>заработало автоначисление, и для его запуска админу больше не нужно заходить в банк;</li>
<li>банк помнит, что уже оплачено, а АМС при подтверждении сразу видит дубли и переплату;</li>
<li>итог заявки виден под спойлером: кто обработал и сколько на счету было и стало.</li>
</ul>
<div class="cf-panel-note">
Заявку в банке отправляйте с основного профиля: баланс хранится там, и с твинка банк попросит перелогиниться.
</div>
<p><b>Единый кошелек</b></p>
<p>Начисления и покупки теперь проходят через общий журнал. Если в поле филингов у твинка стоит ссылка на основной профиль, валюта сама находит основу, так что награды твинка никуда не потеряются.</p>
</div>
</div>
</section>
<section class="cf-panel cf-panel-games">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-gamepad"></i></div>
<h3 class="cf-panel-title">Игротека и лотерея</h3>
</div>
<div class="cf-panel-body">
<div class="cf-subsection">
<div class="cf-subsection-head">
<div class="cf-subsection-icon"><i class="fa fa-gamepad"></i></div>
<h3 class="cf-subsection-title">Игротека</h3>
</div>
<div class="cf-subsection-body">
<p>Судоку, кроссворды, бинго, пятнашки, раскраска, гача и тетрис теперь в одном месте. Можно отвлечься между постами и заодно заработать.</p>
<ul>
<li>судоку: 100, 500 или 1000 в день;</li>
<li>кроссворды: 1000 за каждый, раз в неделю;</li>
<li>бинго: одна карточка на всех на неделю, 200 за линию и 1500 за всю карточку;</li>
<li>пятнашки и раскраска: по 100 в день.</li>
</ul>
<div class="cf-panel-note">
Награда одна на основу вместе с твинками. Филинги приходят сами по понедельникам в 09:00, а отчет публикуется в теме выплат.
</div>
<div class="cf-links-row">
<a class="cf-button" href="https://crossfeeling.ru/pages/games"><i class="fa-solid fa-link"></i> Открыть игротеку</a>
<a class="cf-button" href="https://crossfeeling.ru/viewtopic.php?id=13659"><i class="fa-solid fa-link"></i> Отчеты о выплатах</a>
</div>
</div>
</div>
<div class="cf-subsection">
<div class="cf-subsection-head">
<div class="cf-subsection-icon"><i class="fa fa-gift"></i></div>
<h3 class="cf-subsection-title">Лотерея</h3>
</div>
<div class="cf-subsection-body">
<p>Лотереи живут прямо в сообщениях: в посте появляется поле с карточками. Нажимаете на карточку, нажимаете «открыть» и получаете подарок или задание.</p>
<ul>
<li>две карточки в день на основу вместе с твинками;</li>
<li>к заданию можно приложить ссылку или картинки как подтверждение;</li>
<li>задание проверяет АМС, она же выдает большинство наград.</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-shop">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-shopping-cart"></i></div>
<h3 class="cf-panel-title">Магазин</h3>
</div>
<div class="cf-panel-body">
<p>Покупка сохраняется сразу, поэтому перезагрузка страницы посреди оплаты больше не превращается в детектив «деньги списались, а что я купил?».</p>
<ul>
<li>товар резервируется на время оплаты;</li>
<li>повторное нажатие на кнопку не оформит заказ второй раз;</li>
<li>история покупок остается, и по ней можно разобраться, что произошло;</li>
<li>покупки можно вернуть. Прям как в реальной жизни.</li>
</ul>
<div class="cf-panel-note">
Если оплата прошла частично, возврат делает АМС вручную. Заметили такое — напишите нам.
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-pages">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-user"></i></div>
<h3 class="cf-panel-title">Личные страницы</h3>
</div>
<div class="cf-panel-body">
<p>Все личные страницы теперь хранятся в базе данных, а имена и твинки обновляются каждый час.</p>
<ul>
<li>предметы хранятся в базе данных: подарки, иконки, плашки, фоны, обычные и лимитированные карточки;</li>
<li>у купонов есть отметка об использовании;</li>
<li>у карточек есть количество.</li>
</ul>
<div class="cf-panel-note">
За красивой страничкой теперь есть учет всего накопленного добра.
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-counters">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-calculator"></i></div>
<h3 class="cf-panel-title">Счетчики постов</h3>
</div>
<div class="cf-panel-body">
<div class="cf-subsection">
<div class="cf-subsection-head">
<div class="cf-subsection-icon"><i class="fa fa-calculator"></i></div>
<h3 class="cf-subsection-title">Основной счетчик игровых постов</h3>
</div>
<div class="cf-subsection-body">
<p>Новый счетчик игровых постов от legume работает проще старого: форум фиксирует создание и удаление постов в нужных игровых разделах, передает данные во внешний обработчик, а оттуда подтягивается готовая статистика.</p>
<ul>
<li>отслеживает новые посты в заданных игровых разделах;</li>
<li>учитывает удаление постов, чтобы статистика не расходилась с реальностью;</li>
<li>показывает общее количество игровых постов у пользователя;</li>
<li>при наведении выводит активность за неделю и за месяц;</li>
<li>показывает, кто и сколько постов отписал за неделю, с учетом твинков.</li>
</ul>
<div class="cf-panel-note">
Новый счетчик игровых постов — не точная копия старого. Он сделан с упором на стабильную работу без лишней нагрузки, ручных пересчетов и плясок с полями профиля.
</div>
</div>
</div>
<div class="cf-subsection">
<div class="cf-subsection-head">
<div class="cf-subsection-icon"><i class="fa-solid fa-rotate"></i></div>
<h3 class="cf-subsection-title">Ручной пересчет игровых постов</h3>
</div>
<div class="cf-subsection-body">
<p>Если данные после публикации или удаления поста не обновились сразу, можно запустить ручной пересчет.</p>
<div class="cf-panel-note">
Перед пересчетом выждите несколько минут. Если примерно через 5 минут данные не обновились, можно сделать пересчет вручную.
</div>
<div class="cf-links-row">
<a class="cf-button" href="https://crossfeeling.ru/pages/0posts-moder"><i class="fa-solid fa-link"></i> Ручной пересчет игровых постов</a>
</div>
<p>В ссылке <span class="cf-code">crossfeeling.ru/viewtopic.php?id=12492&p=24#p1177360</span> id темы — это число после <span class="cf-code">id=</span>, а id сообщения — число после <span class="cf-code">#p</span>.</p>
</div>
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-chrono">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-calendar"></i></div>
<h3 class="cf-panel-title">Хронология</h3>
</div>
<div class="cf-panel-body">
<p>Теперь можно собирать, отслеживать игровую активность в специальной теме.</p>
<div class="cf-panel-note">
Чтобы эпизоды отображались в вашей хронологии, нужно на них подписаться.
</div>
<div class="cf-links-row">
<a class="cf-button" href="https://crossfeeling.ru/viewtopic.php?id=12968#p1140327"><i class="fa-solid fa-link"></i> Планировщик эпизодов</a>
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-fandom">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-filter"></i></div>
<h3 class="cf-panel-title">Фильтрация фандомных эпизодов</h3>
</div>
<div class="cf-panel-body">
<p>В игровых разделах появились темы с навигацией по эпизодам. Теперь каталог собирает бот и хранит его в базе: там уже больше двух тысяч эпизодов, а страница открывается сразу.</p>
<ul>
<li>открываете тему-навигатор в нужном игровом разделе;</li>
<li>выбираете фандом в фильтре;</li>
<li>получаете список всех относящихся к нему эпизодов и их участников.</li>
</ul>
<div class="cf-panel-note">
Название эпизода берется из названия темы, а фандом определяется по актуальной таблице ролей. Участники обновляются раз в сутки, ночью. Если в новом эпизоде пока виден только один участник — это нормально: остальные добавятся после ночной сверки.
</div>
<div class="cf-panel-note">
Маски тоже учитываются. Если в маске указан <b>[cast]</b>, навигатор использует этот фандом; если поле пустое — ориентируется на список ролей. Если участники относятся к разным фандомам, эпизод получает общую категорию вида <b>FANDOM 1 × FANDOM 2</b>. Правку маски в старом посте бот сам не заметит: в этом случае напишите АМС.
</div>
<div class="cf-panel-note">
У каждого фандома есть кнопка <i class="fa-solid fa-download"></i>. Через нее можно скопировать хронологию эпизодов в буфер обмена — в виде BB-кода или простого HTML.
</div>
<div class="cf-panel-note">
Новую тему или перенос в архив бот замечает примерно за 5 минут. Если эпизод появился не сразу, нужно немного подождать; администрация также может запустить обновление вручную.
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-bookmarks">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-bookmark"></i></div>
<h3 class="cf-panel-title">Обновление закладок</h3>
</div>
<div class="cf-panel-body">
<p class="cf-small-text">Стилизовали и чутка переделали функционал закладок. Теперь там не одинокие дата и время поста, а более информативный контент:</p>
<ul>
<li>название темы;</li>
<li>подфорум;</li>
<li>возможность добавить примечание через карандашик.</li>
</ul>
<p class="cf-small-text">Теперь видно, откуда сохранен пост и зачем вы его вообще сохраняли.</p>
</div>
</div>
</section>
<section class="cf-panel cf-panel-masks">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-user-secret"></i></div>
<h3 class="cf-panel-title">Тест обновленного скрипта масок</h3>
</div>
<div class="cf-panel-body">
<p>Филинг участвует в тесте обновленного скрипта масок от Человека-Шамана.</p>
<p>Превьюшка профиля постоянно находится слева от поля и показывает индикатор, если используется маска.</p>
<p>При заполнении можно найти чекбокс «Запомнить маску в этой теме», и в рамках браузера маска будет надеваться на профиль сразу же без дополнительных указаний.</p>
<div class="cf-panel-note">
Если поймаете баги, пишите: в диалоги, Агате в ЛС или Агате в телегу @warmy_ash. Заботливо передам все Человеку-Шаману.
</div>
<div class="cf-links-row">
<a class="cf-button" href="https://t.me/cross_feeling/324"><i class="fa-solid fa-link"></i> Где искать чекбоксы</a>
</div>
</div>
</div>
</section>
<section class="cf-panel cf-panel-comfort">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-heart"></i></div>
<h3 class="cf-panel-title">Удобства для жизни на форуме</h3>
</div>
<div class="cf-panel-body">
<p><b><i class="fa fa-link"></i> Абсолютные ссылки.</b> Чтобы получить прямую ссылку на конкретное сообщение, достаточно нажать на номер поста в теме.</p>
<p><b><i class="fa fa-mobile"></i> Мобильная версия.</b> Ее можно отключить: на iOS — Профиль → Дополнительно → Выключить мобильный стиль; на Android — Профиль → Дополнительно → стиль «не выбран» → в браузере включить «версию для ПК».</p>
<p><b><i class="fa fa-quote-left"></i> Тихая цитата.</b> В экспериментальном режиме в твиттере появилась цитата без создания полноценного «ответа». Подходит для коротких, живых переписок.</p>
<p><b><i class="fa fa-comments"></i> Мессенджер в ЛС.</b> Личные сообщения группируются по собеседникам, есть поиск и возможность добавлять сообщения в избранное.</p>
<p><b><i class="fa fa-history"></i> Восстановление поста.</b> Если после ошибки вы ничего нового не писали в поле, сообщение можно восстановить из localStorage через кнопку слева от формы ответа.</p>
<p><b><i class="fa fa-hashtag"></i> Хэштеги.</b> По клику на хэштег откроется поиск по всем постам с этим тегом.</p>
<p><b><i class="fa fa-music"></i> Яндекс.Музыка.</b> HTML-код плеера можно вставить через форму HTML в постах, и композиция будет проигрываться прямо в теме.</p>
<p><b><i class="fa fa-folder-open"></i> Вкладки BB-кодами.</b> Подходят для личных тем, длинных заявок, постов, гайдов, списков и всего, где хочется порядка.</p>
<p><b><i class="fa fa-adjust"></i> Светлая и темная темы.</b> Переключатель находится в шапке.</p>
<p><b><i class="fa fa-ban"></i> Черный список.</b> Если не хотите видеть посты конкретного пользователя, его можно добавить в ЧС.</p>
</div>
</div>
</section>
<section class="cf-panel cf-panel-hotkeys">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa-solid fa-fire"></i></div>
<h3 class="cf-panel-title">Горячие клавиши</h3>
</div>
<div class="cf-panel-body">
<p>Горячие клавиши спасают, когда вы пишете пост, а потом упаковываете его в птицу-тройку из форматирования, ссылок, спойлеров и прочего прекрасного.</p>
<ul class="cf-hotkeys-list">
<li>Жирный текст — <b>Ctrl + B</b>;</li>
<li>Наклонный текст — <b>Ctrl + I</b>;</li>
<li>Подчеркнутый текст — <b>Ctrl + U</b>;</li>
<li>Зачеркнутый текст — <b>Ctrl + S</b>;</li>
<li>Выравнивание по левому краю — <b>Ctrl + L</b>;</li>
<li>Выравнивание по правому краю — <b>Ctrl + R</b>;</li>
<li>Выравнивание по центру — <b>Ctrl + E</b>;</li>
<li>Ссылка — <b>Ctrl + K</b>;</li>
<li>Спойлер — <b>Ctrl + G</b>;</li>
<li>Скрытый текст — <b>Ctrl + H</b>;</li>
<li>Видео — <b>Alt + V</b>;</li>
<li>Цитата — <b>Ctrl + Q</b>;</li>
<li>Код — <b>Ctrl + [</b>;</li>
<li>Цвет — <b>Alt + C</b>;</li>
<li>Таблица — <b>Alt + T</b>;</li>
<li>Добавлено спустя — <b>Ctrl + Shift + D</b>;</li>
<li>Поясняющий текст — <b>Ctrl + Shift + A</b>;</li>
<li>Маркированный текст — <b>Ctrl + Shift + M</b>;</li>
<li>Горизонтальная линия — <b>Alt + H</b>;</li>
<li>Отправить сообщение — <b>Ctrl + Enter</b>.</li>
</ul>
</div>
</div>
</section>
<section class="cf-panel cf-panel-ams">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-cogs"></i></div>
<h3 class="cf-panel-title">Для АМС</h3>
</div>
<div class="cf-panel-body">
<p><b>Прием анкет с ботом — магичили с legume.</b> Бот разбирает коды из анкеты, АМС проверяет данные и подтверждает их в одном окне. То, что бот не понял, он показывает как «не распознано». Решение о приеме остается за человеком.</p>
<p><b>Реклама без рук.</b> Каждое утро бот проходит по другим форумам и размещает рекламу. Если тема закончилась, сам ищет следующую часть.</p>
<p><b>Своя рекламная тема.</b> Бот должен сам открывать новую часть на 990 постах и переносить старую в архив на 1000. По-настоящему это еще не срабатывало, ждем первого раза.</p>
<p><b>Утренняя сводка.</b> В 10:00 в телеграм приходит только то, что зависло и требует внимания. Если все хорошо, бот молчит.</p>
<p><b>Ядро скриптов.</b> Модули форума живут в одной панели и включаются там же, без правок в HTML.</p>
</div>
</div>
</section>
<section class="cf-panel cf-panel-bugs">
<div class="cf-panel-card">
<div class="cf-panel-head">
<div class="cf-panel-icon"><i class="fa fa-bug"></i></div>
<h3 class="cf-panel-title">Что-то сломалось</h3>
</div>
<div class="cf-panel-body">
<p>Мы очень старались, чтобы все работало стабильно и без внезапного «а почему оно живет своей жизнью». Но форум — существо древнее, скрипты — сущности своенравные, а багулинки иногда появляются там, где их никто не звал.</p>
<p>Если что-то не работает, работает странно или вызывает неудержимое желание закричать в монитор — пишите в диалоги или открывайте дверь с ноги в личке Агаты.</p>
<p>Все посмотрим, передадим кому надо и пофиксим настолько оперативно, насколько это возможно.</p>
</div>
</div>
</section>
</div>
</div>
</div>
<style>
.cf-updates {
max-width: 980px;
margin: 0 auto;
padding: 0;
box-sizing: border-box;
color: var(--text1);
font-family: var(--font);
}
.cf-updates *,
.cf-updates *:before,
.cf-updates *:after {
box-sizing: border-box;
}
.cf-updates a {
color: var(--links);
text-decoration: none;
border-bottom: 1px solid var(--accent);
transition: all .2s ease;
}
.cf-updates a:hover {
color: var(--text1);
border-bottom-color: var(--text1);
}
.cf-updates i.fa,
.cf-updates i.fa-solid {
color: var(--links);
}
.cf-updates-hero {
padding: 20px;
margin-bottom: 14px;
border-radius: 22px;
background: var(--cover);
border: 1px solid var(--borders);
}
.cf-updates-kicker {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 7px 12px;
margin-bottom: 12px;
border-radius: 999px;
background: var(--pun);
color: var(--text1);
border: 1px solid var(--borders);
font-size: 11px;
letter-spacing: .08em;
text-transform: uppercase;
}
.cf-updates-title {
margin: 0 0 12px;
font-family: var(--font2);
font-size: clamp(30px, 5vw, 54px);
line-height: .95;
font-weight: 700;
color: var(--text1);
}
.cf-updates .cf-updates-lead {
max-width: 780px;
margin: 0;
font-size: 14px !important;
line-height: 1.75 !important;
color: var(--text2);
}
.cf-tabs > input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.cf-tabs-nav {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 14px 0;
padding: 12px;
border-radius: 20px;
background: var(--cover2);
border: 1px solid var(--borders);
}
.cf-tabs-nav label {
display: inline-flex;
align-items: center;
gap: 7px;
min-height: 34px;
padding: 8px 12px;
border-radius: 999px;
background: var(--cover);
border: 1px solid var(--borders);
color: var(--text2);
font-size: 12px;
line-height: 1.2;
cursor: pointer;
transition: all .2s ease;
}
.cf-tabs-nav label:hover {
background: var(--links);
color: var(--pun);
border-color: var(--links);
}
.cf-tabs-nav label:hover i.fa,
.cf-tabs-nav label:hover i.fa-solid {
color: var(--pun);
}
#cf-tab-roleform:checked ~ .cf-tabs-nav label[for="cf-tab-roleform"],
#cf-tab-lz:checked ~ .cf-tabs-nav label[for="cf-tab-lz"],
#cf-tab-requests:checked ~ .cf-tabs-nav label[for="cf-tab-requests"],
#cf-tab-tracker:checked ~ .cf-tabs-nav label[for="cf-tab-tracker"],
#cf-tab-login:checked ~ .cf-tabs-nav label[for="cf-tab-login"],
#cf-tab-absence:checked ~ .cf-tabs-nav label[for="cf-tab-absence"],
#cf-tab-bank:checked ~ .cf-tabs-nav label[for="cf-tab-bank"],
#cf-tab-games:checked ~ .cf-tabs-nav label[for="cf-tab-games"],
#cf-tab-shop:checked ~ .cf-tabs-nav label[for="cf-tab-shop"],
#cf-tab-pages:checked ~ .cf-tabs-nav label[for="cf-tab-pages"],
#cf-tab-counters:checked ~ .cf-tabs-nav label[for="cf-tab-counters"],
#cf-tab-chrono:checked ~ .cf-tabs-nav label[for="cf-tab-chrono"],
#cf-tab-fandom:checked ~ .cf-tabs-nav label[for="cf-tab-fandom"],
#cf-tab-bookmarks:checked ~ .cf-tabs-nav label[for="cf-tab-bookmarks"],
#cf-tab-masks:checked ~ .cf-tabs-nav label[for="cf-tab-masks"],
#cf-tab-comfort:checked ~ .cf-tabs-nav label[for="cf-tab-comfort"],
#cf-tab-hotkeys:checked ~ .cf-tabs-nav label[for="cf-tab-hotkeys"],
#cf-tab-ams:checked ~ .cf-tabs-nav label[for="cf-tab-ams"],
#cf-tab-bugs:checked ~ .cf-tabs-nav label[for="cf-tab-bugs"] {
background: var(--links);
color: var(--pun);
border-color: var(--links);
}
#cf-tab-roleform:checked ~ .cf-tabs-nav label[for="cf-tab-roleform"] i,
#cf-tab-lz:checked ~ .cf-tabs-nav label[for="cf-tab-lz"] i,
#cf-tab-requests:checked ~ .cf-tabs-nav label[for="cf-tab-requests"] i,
#cf-tab-tracker:checked ~ .cf-tabs-nav label[for="cf-tab-tracker"] i,
#cf-tab-login:checked ~ .cf-tabs-nav label[for="cf-tab-login"] i,
#cf-tab-absence:checked ~ .cf-tabs-nav label[for="cf-tab-absence"] i,
#cf-tab-bank:checked ~ .cf-tabs-nav label[for="cf-tab-bank"] i,
#cf-tab-games:checked ~ .cf-tabs-nav label[for="cf-tab-games"] i,
#cf-tab-shop:checked ~ .cf-tabs-nav label[for="cf-tab-shop"] i,
#cf-tab-pages:checked ~ .cf-tabs-nav label[for="cf-tab-pages"] i,
#cf-tab-counters:checked ~ .cf-tabs-nav label[for="cf-tab-counters"] i,
#cf-tab-chrono:checked ~ .cf-tabs-nav label[for="cf-tab-chrono"] i,
#cf-tab-fandom:checked ~ .cf-tabs-nav label[for="cf-tab-fandom"] i,
#cf-tab-bookmarks:checked ~ .cf-tabs-nav label[for="cf-tab-bookmarks"] i,
#cf-tab-masks:checked ~ .cf-tabs-nav label[for="cf-tab-masks"] i,
#cf-tab-comfort:checked ~ .cf-tabs-nav label[for="cf-tab-comfort"] i,
#cf-tab-hotkeys:checked ~ .cf-tabs-nav label[for="cf-tab-hotkeys"] i,
#cf-tab-ams:checked ~ .cf-tabs-nav label[for="cf-tab-ams"] i,
#cf-tab-bugs:checked ~ .cf-tabs-nav label[for="cf-tab-bugs"] i {
color: var(--pun);
}
.cf-panels {
position: relative;
}
.cf-panel {
display: none;
opacity: 0;
transform: translateY(6px);
}
#cf-tab-roleform:checked ~ .cf-panels .cf-panel-roleform,
#cf-tab-lz:checked ~ .cf-panels .cf-panel-lz,
#cf-tab-requests:checked ~ .cf-panels .cf-panel-requests,
#cf-tab-tracker:checked ~ .cf-panels .cf-panel-tracker,
#cf-tab-login:checked ~ .cf-panels .cf-panel-login,
#cf-tab-absence:checked ~ .cf-panels .cf-panel-absence,
#cf-tab-bank:checked ~ .cf-panels .cf-panel-bank,
#cf-tab-games:checked ~ .cf-panels .cf-panel-games,
#cf-tab-shop:checked ~ .cf-panels .cf-panel-shop,
#cf-tab-pages:checked ~ .cf-panels .cf-panel-pages,
#cf-tab-counters:checked ~ .cf-panels .cf-panel-counters,
#cf-tab-chrono:checked ~ .cf-panels .cf-panel-chrono,
#cf-tab-fandom:checked ~ .cf-panels .cf-panel-fandom,
#cf-tab-bookmarks:checked ~ .cf-panels .cf-panel-bookmarks,
#cf-tab-masks:checked ~ .cf-panels .cf-panel-masks,
#cf-tab-comfort:checked ~ .cf-panels .cf-panel-comfort,
#cf-tab-hotkeys:checked ~ .cf-panels .cf-panel-hotkeys,
#cf-tab-ams:checked ~ .cf-panels .cf-panel-ams,
#cf-tab-bugs:checked ~ .cf-panels .cf-panel-bugs {
display: block;
opacity: 1;
transform: translateY(0);
animation: cfFadePanel .22s ease;
}
@keyframes cfFadePanel {
from {
opacity: 0;
transform: translateY(6px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.cf-panel-card {
padding: 22px;
border-radius: 24px;
background: var(--cover);
border: 1px solid var(--borders);
}
.cf-panel-head {
display: grid;
grid-template-columns: 54px 1fr;
gap: 14px;
align-items: center;
margin-bottom: 16px;
}
.cf-panel-icon {
width: 54px;
height: 54px;
border-radius: 18px;
display: flex;
align-items: center;
justify-content: center;
background: var(--pun);
color: var(--text1);
border: 1px solid var(--borders);
font-size: 22px;
}
.cf-panel-title {
margin: 0;
font-family: var(--font1);
font-size: 18px !important;
line-height: .95;
color: var(--text1);
}
.cf-panel-body {
padding: 16px;
border-radius: 18px;
background: var(--pun);
border: 1px solid var(--borders);
color: var(--text1);
}
.cf-updates .cf-panel-body,
.cf-updates .cf-panel-body p,
.cf-updates .cf-panel-body li,
.cf-updates .cf-panel-body .cf-panel-note,
.cf-updates .cf-panel-body .cf-small-text,
.cf-updates .cf-button,
.cf-updates .cf-code {
font-size: 13px !important;
line-height: 1.65 !important;
}
.cf-updates .cf-panel-body b,
.cf-updates .cf-panel-body strong,
.cf-updates .cf-panel-body a,
.cf-updates .cf-panel-body span {
font-size: inherit !important;
line-height: inherit !important;
}
.cf-panel p {
margin: 0 0 8px !important;
padding: 0 !important;
color: var(--text2);
}
.cf-panel p:last-child {
margin-bottom: 0;
}
.cf-panel ul {
margin: 8px 0 14px;
padding: 0;
list-style: none;
}
.cf-panel li {
position: relative;
margin: 0 0 8px;
padding-left: 19px;
color: var(--text2);
}
.cf-panel li:before {
content: "";
position: absolute;
left: 0;
top: .72em;
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--links);
}
.cf-panel-note {
margin: 14px 0;
padding: 12px 13px;
border-left: 4px solid var(--links);
border-radius: 13px;
background: var(--cover2);
color: var(--text2);
}
.cf-panel-note:last-child {
margin-bottom: 0;
}
.cf-links-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 4px 0 10px !important;
padding: 0 !important;
align-items: center;
}
.cf-button {
display: inline-flex;
align-items: center;
gap: 7px;
justify-content: center;
min-height: 34px;
padding: 8px 12px;
border-radius: 999px;
background: var(--links);
color: var(--text3) !important;
border: 0 !important;
text-decoration: none !important;
}
.cf-button i.fa,
.cf-button i.fa-solid {
color: var(--text3);
}
.cf-button:hover {
background: var(--accent);
color: var(--text1) !important;
}
.cf-button:hover i.fa,
.cf-button:hover i.fa-solid {
color: var(--links);
}
.cf-code {
display: inline-block;
padding: 3px 6px;
border-radius: 7px;
background: var(--cover2);
color: var(--text1);
font-family: monospace;
}
.cf-small-text {
color: var(--text2);
}
.cf-hotkeys-list {
columns: 2;
column-gap: 24px;
}
.cf-hotkeys-list li {
break-inside: avoid;
}
.cf-subsection {
margin: 0 0 18px;
padding: 0;
border-radius: 0;
background: transparent;
border: 0;
}
.cf-subsection:last-child {
margin-bottom: 0;
}
.cf-subsection-head {
display: grid;
grid-template-columns: 24px 1fr;
gap: 8px;
align-items: center;
margin: 0 0 10px;
padding: 0;
}
.cf-subsection-icon {
width: 24px;
height: 24px;
border-radius: 0;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: 0;
font-size: 15px;
}
.cf-subsection-icon i.fa,
.cf-subsection-icon i.fa-solid {
color: var(--links);
}
.cf-subsection-title {
margin: 0 !important;
padding: 0 !important;
font-family: var(--font1);
font-size: 15px !important;
line-height: 1.15 !important;
color: var(--text1);
}
.cf-subsection-body {
padding: 0;
margin: 0;
}
.cf-subsection + .cf-subsection {
margin-top: 20px;
padding-top: 2px;
}
.cf-subsection-body > *:last-child {
margin-bottom: 0 !important;
}
@media (max-width: 760px) {
.cf-updates-hero,
.cf-panel-card {
padding: 16px;
}
.cf-panel-head {
grid-template-columns: 46px 1fr;
}
.cf-panel-icon {
width: 46px;
height: 46px;
border-radius: 15px;
font-size: 19px;
}
.cf-hotkeys-list {
columns: 1;
}
}
</style>
[/html]

