Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Новые возможности форумов » Новые возможности: Мгновенные уведомления


Новые возможности: Мгновенные уведомления

Сообщений 1 страница 20 из 76

1

Этот скрипт призван придать динамики форумам, оповещая пользователей
о событиях на форуме в реальном времени, наподобие ВКонтакте.
Скрипт дает возможность мгновенного реагирования на ответ, личное сообщение
(и не только). Теперь Вы не пропустите ни одного события!

Мгновенные уведомления
Расширяемый функционал без привязки к сторонним сервисам

https://i.imgur.com/MfSzaN4.png
(скриншот 1)
https://i.imgur.com/j9HL52a.png
(скриншот 2)
https://i.imgur.com/gFBtgCe.png
(скриншот 3)
https://i.imgur.com/jrjwtIk.png
(скриншот 4)

Скриншоты обновлены 05.08.2019

Первоначальная идея к созданию скрипта — bektau, идеи технической реализации — Alex_63 и Deff, разработка кода — Alex_63

Особенности и преимущества


  ●  Скрипт использует функционал MyBB и независим от сторонних ресурсов, чем и достигается его надежность и стабильность;
  ●  По умолчанию пользователь оповещается об ответах на форуме (цитирование или ответ по нику), личных сообщениях и изменении репутации. Имеется возможность расширения, т.е. подключения оповещений на какие-то еще события, например, выдача предупреждений или наград в поле профиля;
  ●  Если пользователь онлайн, уведомление приходит ему мгновенно1 в виде всплывающего сообщения (скриншот 1). Непрочитанные уведомления отображаются в списке (скриншот 2), открывающемся по клику на пункт меню "Уведомления".
  ●  Уведомление становится просмотренным при клике на него (с переходом по заданной в уведомлении ссылке), при закрытии, через 10 секунд после активности на странице (движение курсора, прокрутка) или при открытии списка уведомлений. Просмотренные уведомления сохраняются ниже в том же списке под надписью "Просмотренные" (список просмотренных можно очистить).
  ●  Количество новых уведомлений отображается в виде маркера у пункта меню "Уведомления" и в иконке на вкладке браузера2 (скриншот 3). На мобильных устройствах маркер новых уведомлений отображается у пункта меню "Профиль".
  ●  Появление мгновенного уведомления сопровождается звуком3 и миганием в названии вкладки (при необходимости можно отключить).
  ●  Имеется возможность индивидуальной настройки пользователем: отключение звука, отключение уведомлений — полностью или выборочно (скриншот 4).
  ●  Скрипт можно настроить под себя, изменив некоторые параметры (подробнее про настройку и расширение — в следующем сообщении).
  ●  Допускается установка также и на форумах RusFF, при этом стандартные уведомления автоматически отключаются.

Подключение и продление

Активировать пробную подписку на 10 дней (бесплатно):
[html]<script>if(location.host!='hostjs.mybb.ru') location.href = '//ho' + 'stjs.mybb.ru/files/0016/0b/c8/84802.html?4'</script>
<style type="text/css">
pre {
display: inline-block;
}
div {
padding-bottom: 1em;
}
</style>

<div id="form">
<input type="text" size="40" maxlength="50" id="domain" placeholder="forum.mybb.ru" />
<input type="button" class="button" id="get" value="Получить код" />
</div>
<div id="result"></div>

<script>
var BoardID = 1426495;
var PartnerID = 1;
var RequestTime = parseInt((Date.now() + 3*3600)/1000);
var StaticURL = 'https://forumstatic.ru';
</script>
<script type="text/javascript" src="https://forumstatic.ru/f/ru/bestbb/notifications.core.js"></script>
<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/26102.js"></script>

<script>
var fileURL = '/files/0015/c4/3f/51481.txt';
$.ajaxSetup({cache:true});
</script>

<noscript id="tmpl1">
<div class="quote-box" id="code"><blockquote>
<p><span style="font-size: 12px;"><span style="font-family: Courier New;"><span style="color: green">&lt;!-- Мгновенные уведомления © Alex_63, 2024 --&gt;</span><br><span style="color: navy">&lt;link rel="stylesheet" type="text/css" href="//forumstatic.ru/f/ru/bestbb/notifications.css" /&gt;<br>&lt;script type="text/javascript" src="//forumstatic.ru/f/ru/bestbb/notifications.js"&gt;&lt;/script&gt;<!--<br>&lt;script type="text/javascript"&gt;<br>notifications.token = \'</span><span style="color: red">{APIKEY}</span><span style="color: navy">\'; // Токен форума<br>notifications.key = \'</span><span style="color: red">{TOKEN}</span><span style="color: navy">\'; // Ключ подписки<br>&lt;\/script&gt;--></span></span></span></p>
</blockquote></div>
</noscript>
<noscript id="tmpl2">
<div>Рекомендуем установить популярные дополнения (ниже основного скрипта <b>в HTML верх</b>): <a style="cursor:pointer" onclick="select_text($('#code-2')[0])">выделить</a></div><div class="quote-box" id="code-2"><blockquote><p><span style="font-size: 12px"><span style="font-family: Courier New"><span style="color: green">&lt;!-- Мгновенные уведомления: упоминания © Alex_63, 2020 --&gt;</span><br><span style="color: navy">&lt;script&gt;notifications.load('mentions');&lt;/script&gt;</span></span></span></p><p><span style="font-family: Courier New"><span style="font-size: 12px"><span style="color: green">&lt;!-- Мгновенные уведомления: репутация для Rusff © Alex_63, 2019 --&gt;</span><br><span style="color: navy">&lt;script&gt;notifications.load('reputation');&lt;/script&gt;</span></span></span></p><p><span style="font-size: 12px"><span style="font-family: Courier New"><span style="color: green">&lt;!-- Мгновенные уведомления: подписки на форум/тему © Alex_63, 2019 --&gt;</span><br><span style="color: navy">&lt;script&gt;notifications.load('subscriptions');&lt;/script&gt;</span></span></span></p><p><span style="font-size: 12px"><span style="font-family: Courier New"><span style="color: green">&lt;!-- Мгновенные уведомления: новые посты из важных тем © Alex_63, 2019 --&gt;</span><br><span style="color: navy">&lt;script type="text/javascript"&gt;<br>notifications.load('common', {});<br>notifications.load('important', {topics: [</span><span style="color: red">101</span><span style="color: navy">,</span> <span style="color: red">97</span><span style="color: navy">]}); // ID важных тем (через запятую)<br>&lt;/script&gt;</span></span></span></p></blockquote></div>
</noscript>

<script type="text/javascript" src="data:text/javascript;base64,ZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCcoNygpezcgdChhLGIsYyl7YT1bSyAxSShbYV0se1U6IlYvMUoifSldO2E9SyAxSyhhLHUse1U6IjFMLzFNIn0pO0MgZT1LIDFOO2UuTCgiMU9bXSIsYSk7ZS5MKCJXIiwiMTYuMVAiKTtlLkwoIjE3IixuKTtDIGY9MTguMVE7MTkuMWEoTSxNLGcrIi8xUi5OIik7MVMoNygpezE5LjFhKE0sTSxmKX0sMCk7JC4xYih7MWM6ZysiLzE2IixVOiIxVCIsMVU6ZSwxVjohMSwxVzohMSwxWDohMSwxWTo3KGEpe2EuTz8kLjFkKGIpJiZiKCk6JC4xZChjKSYmYygpfSwxWjpjfHwkLjIwfSl9NyB2KGEpeyQuRyhnKzFlKyI/IitYLjFmKCksNyhiKXsyMXthKDFnLjIyKGIpKX0yMyhjKXtmKDEpfX0pfTcgdyhhKXt2KDcoYil7JC5HKDFoLjFpKyIvLyIrYSsiLzFqLk4iLHtXOiIxay5HIiwyNDoiMWwifSw3KGMpezFtKGMuTyl7QyBlPTI1KChYLjFmKCkrMjYpLzFuKSxrPWMuTy4xbCxkOzI3KGQgMjggYikxbShiW2RdLjFvPT1rKXtkPWJbZF0uWVtiW2RdLlkuMjktMV07Yz1kLjFwO2Q9ZC4xcTtmKCJcXFpcXDVcXGlcXFBcXG9cXHlcXHpcXDggXFxpXFxIXFwxMSBcXDJhXFxFXFw1XFxRXFw1IFxcMTJcXDVcXEFcXEZcXFJcXDggXFxGXFwyYlxcaiBcXElcXDFyXFxpXFw4XFxCXFw4LiIpO3AoIjx4PlxcWlxcalxcQVxcb1xcNVxcaTogIitsW2NdWzBdKyIsIFxcb1xceVxcRVxcalxcelxcOFxcalxcRTogIisoMXM+ZCtsW2NdWzFdPyhLIFgoMW4qKGQrbFtjXVsxXSkpKS4yYygpLkooL14oWzAtOVxcLV0rKVxcRC4qJC8sIiQxIik6IlxcMXRcXG9cXHpcXDVcXFFcXGlcXDgiKSsiLjwveD4iKTsyZH1DIGg9KCgrKCIiK2UrcSkpLjF1KDF2KSsoMyprKS4xdSgxdikpLjF3KCIiKS4yZSgpLjJmKCIiKTskLjJnKGcrIi8xai5OIix7VzoiMWsuMmgiLDJpOnIsMmo6MmsoIjJsIil9LDcoYyl7JDJtKCIxMyIsYy5PLjJuKTtiLjJvKHtTOmEsMW86ayxZOlt7MTc6aCwxcTplLDFwOnEsMnA6cn1dfSk7bj0kLjFiKHsxYzpnKyIvMnEuTiIsMnI6ITF9KS4ycy4xeCgvMnRcXHM9XFxzXCcoLis/KVwnLylbMV07dCgxZy4ydShiKSw3KCl7JCgiI1QiKS4ydigpO3AoIjx4PlxcWlxcNVxcaVxcUFxcb1xceVxcelxcOCBcXEJcXDggMTAgXFxpXFxCXFxqXFwxeSBcXGlcXEhcXDExIFxcMTJcXDVcXEFcXEZcXFJcXDggPGI+IithK1wnPC9iPiBcXDVcXDEyXFw1XFxBXFxSXFxIXFxqXFxCXFw4LjwveD48eD48MXo+XFwyd1xcNVxcaSBcXEZcXHlcXEVcXDhcXEJcXDVcXElcXHpcXG86PC8xej4gPGEgMng9IjJ5OjJ6IiAyQT0iMkIoJChcXFwnIzJDXFxcJylbMF0pIj5cXElcXDFyXFxpXFxqXFxIXFxvXFxFXFwxQTwvYT48L3g+XCcrbSk7MkQuMkUoMiwiMkYiLHsyRzphfSxzKTskMUIoIjEzIil9LDcoKXskMUIoIjEzIik7Zig0KX0pfSwiMUMiKX0ySCBmKDIpfSwiMUMiKS4ySSg3KCl7ZigzKX0pfSl9NyBzKCl7JCgiI0ciKS4xNCgiMTUiLCExKTskKCIjUyIpLjFEKCIiKX03IGYoYSl7QyBiPWE7MkooK2EpfHwoYj0iXFwxdFxcaiBcXEZcXGlcXDhcXEhcXDVcXHlcXDFBIFxcUFxcQVxcNVxcb1xcMUVcXElcXGpcXHlcXEVcXG8gXFw1XFxQXFxqXFxBXFw4XFwxRlxcb1xcMkssIFxcelxcNVxcaSBcXDVcXDJMXFxvXFwyTVxcelxcbzogIithKTskKCIjVCIpLjFHKCI8eD4iK2IrIjwveD4iKTtzKCl9NyBwKGEpeyQoIiNUIikuTChhKX1DIGw9eyIwIjpbIjEwIFxcaVxcQlxcalxcMXkiLDJOXSwxOlsiXFwyT1xcalxceVxceVxcQVxcNVxcMlBcXEJcXDUiLDFzXSwyOlsiMSBcXFFcXDVcXGkiLDJRXSwzOlsiNiBcXFJcXGpcXHlcXDExXFwxRlxcalxcSSIsMlJdfSxtPSQoIiMyUyIpLlYoKS5KKC9cXHtcXH0vZywiJiIpLG09bSskKCIjMlQiKS5WKCksaCxnPTFoLjFpKyIvLyIrMTguUyx1PTFlLjF4KC9cXC8oXFxkK1xcLjJVKSQvKVsxXSxxPSIwIixyPTJWKCIyVyIpLG47JCgiI0ciKS4yWCg3KCl7JCgxSCkuMTQoIjE1Iil8fCgkKDFIKS4xNCgiMTUiLCEwKSwkKCIjVCIpLjFHKCI8eD5cXDJZXFw4XFxRXFxBXFxGXFwxRVxcelxcOC4uLjwveD4iKSxoPSQuMlooJCgiI1MiKS4xRCgpKS5KKC9eMzAuP1xcL1xcLy8sIiIpLjF3KCIvIilbMF0uSigvXjMxLi8sIiIpLkooL1xcLysvLCIiKSx3KGgpKX0pfSkoKTsnLDYyLDE4OCwnfHx8fHx1MDQzZXx8ZnVuY3Rpb258dTA0MzB8fHx8fHx8fHx8dTA0MzR8dTA0MzV8fHx8fHUwNDM4fHx8fHx8fHx8ZGl2fHUwNDQxfHUwNDNhfHUwNDQwfHUwNDNkfHZhcnx8dTA0NDJ8dTA0NDN8Z2V0fHUwNDNifHUwNDMyfHJlcGxhY2V8bmV3fGFwcGVuZHxudWxsfHBocHxyZXNwb25zZXx1MDQzZnx1MDQzM3x1MDQzY3xkb21haW58cmVzdWx0fHR5cGV8dGV4dHxtZXRob2R8RGF0ZXxzdWJzY3JpcHRpb258dTA0MWZ8fHUwNDRmfHUwNDQ0fG15YmJfcnV8cHJvcHxkaXNhYmxlZHx1cGxvYWR8dG9rZW58ZG9jdW1lbnR8aGlzdG9yeXxyZXBsYWNlU3RhdGV8YWpheHx1cmx8aXNGdW5jdGlvbnxmaWxlVVJMfG5vd3xKU09OfGxvY2F0aW9ufHByb3RvY29sfGFwaXxib2FyZHxib2FyZF9pZHxpZnwxRTN8aWR8dGltZV9vcHRpb258dGltZXN0YW1wfHUwNDRifEluZmluaXR5fHUwNDFkfHRvU3RyaW5nfDM2fHNwbGl0fG1hdGNofHUwNDM5fHN0cm9uZ3x1MDQ0Y3xkZWxldGVDb29raWV8anNvbnx2YWx8dTA0Mzd8dTA0NDZ8aHRtbHx0aGlzfEJsb2J8cGxhaW58RmlsZXxvdmVyaWRlfG1pbWV0eXBlfEZvcm1EYXRhfGZpbGVzfGFkbWluZmlsZXxVUkx8YWRtaW5fZmlsZXN8c2V0VGltZW91dHxQT1NUfGRhdGF8Y2FjaGV8Y29udGVudFR5cGV8cHJvY2Vzc0RhdGF8c3VjY2Vzc3xlcnJvcnxub29wfHRyeXxwYXJzZXxjYXRjaHxmaWVsZHN8cGFyc2VJbnR8MTA4MDB8Zm9yfGlufGxlbmd0aHx1MDQ0ZHx1MDQzNnx0b0lTT1N0cmluZ3xyZXR1cm58cmV2ZXJzZXxqb2lufHBvc3R8YXV0aHxsb2dpbnxwYXNzd29yZHxidG9hfG9XV3I0WUVyfHNldENvb2tpZXxoYXNofHB1c2h8dXNlcm5hbWV8YWRtaW5faW5kZXh8YXN5bmN8cmVzcG9uc2VUZXh0fEZvcnVtQVBJVGlja2V0fHN0cmluZ2lmeXxlbXB0eXx1MDQxYXxzdHlsZXxjdXJzb3J8cG9pbnRlcnxvbmNsaWNrfHNlbGVjdF90ZXh0fGNvZGV8bm90aWZpY2F0aW9uc3xhZGR8bmV3X3N1YnNjcmlwdGlvbnxmb3J1bXxlbHNlfGZhaWx8aXNOYU58dTA0NGV8dTA0NDh8dTA0MzF8ODY0RTN8dTA0MTF8dTA0NDd8MzE1MzZFM3wxNTU1MkUzfHRtcGwxfHRtcGwyfHR4dHxhdG9ifFcwSnZkRjB8Y2xpY2t8dTA0MTd8dHJpbXxodHRwfHd3dycuc3BsaXQoJ3wnKSwwLHt9KSk="></script>[/html]Оформить подписку (бессрочно, на 1 год или 6 месяцев):
[html]<form method="POST" id="init_pay" action="https://yoomoney.ru/quickpay/confirm" target="_blank">
    <input type="hidden" name="receiver" value="4100115717180683" />
    <input type="hidden" name="label" value="" id="form_label" />
    <input type="hidden" name="quickpay-form" value="button" />
    <input type="hidden" name="sum" value="10" id="form_sum" />
    <input type="hidden" name="paymentType" value="AC" />
    <input type="hidden" name="targets" value="" id="form_targets">
    <input type="hidden" name="successURL" value="" id="form_redirect" />
    <input type="hidden" name="referer" value="" id="form_referer" />
    <input type="hidden" name="is-inner-form" value="true" />
    <input type="text" maxlength="50" size="40" id="form_domain" placeholder="Адрес форума" /> <span id="form_status" style="color:red"></span><br />
    <select id="time_options"></select> &nbsp; &nbsp;<span id="form_hint">К оплате: <strong>0</strong></span> &nbsp;
    <input type="submit" class="button" value="Оплатить" disabled="disabled" id="form_send" />
</form>
<p>После оплаты не закрывайте страницу, а нажмите <strong>Вернуться на сайт</strong>. <br>На открывшейся странице будет завершен процесс оформления подписки.</p>
<script type="text/javascript" src="https://forumstatic.ru/files/001c/14/8b/11111.js?v=4"></script>

<script>
$(document).on('click', '#form_send', function() {
    if ($(this).prop('disabled')) return;
    var forum = $.trim($('#form_domain').val()).replace(/^http.?\/\//, '').split('/')[0];
    var options = JSON.stringify({
        option: $('#time_options').val(),
        source: 2
    });
    var formData = new FormData();
    var data = {
        app_id: 11109,
        token: '3c2261762a7e8dd6d3c23b01b91928137d7850bc',
        method: 'storage.set',
        key: forum,
        value: options
    }
    for (var _key in data) formData.append(_key, data[_key]);
    navigator.sendBeacon('https://hostjs.mybb.ru/api.php', formData);
});
</script>[/html]

Инструкция по оплате

Введите адрес вашего форума и выберите срок подписки. Затем нажмите на кнопку Оплатить.
https://forumupload.ru/uploads/0015/c4/3f/2/105298.png
Вы попадёте на страницу оплаты ЮMoney, где нужно будет ввести данные банковской карты либо осуществить оплату через кошелёк:
https://forumupload.ru/uploads/0015/c4/3f/2/592684.png
Важно: ваши данные в безопасности, поскольку они нигде не сохраняются. Процесс ничем не отличается от обычной покупки в интернет-магазине.

Далее подтверждаете платёж и в случае успеха попадаете на страницу завершения оплаты.
(!!!) Необходимо нажать на кнопку Вернуться на сайт, иначе подписка не оформится автоматически и придётся её запрашивать вручную (написав в личные сообщения).
https://forumupload.ru/uploads/0015/c4/3f/2/918702.png
После успешной оплаты вы попадёте на страницу активации подписки, где увидите сообщение об успешной активации:
https://forumupload.ru/uploads/0015/c4/3f/2/518516.png
Если вы устанавливаете уведомления впервые, выделите и скопируйте к себе на форум код установки. Если же вы продлеваете подписку и код уже стоит на форуме, повторно устанавливать ничего не нужно.
После активации подписки и установки кода уведомления на форуме должны заработать сразу же.

В случае, если по какой-то причине вы произвели оплату, но активировать подписку не удалось и на форуме уведомления не заработали, обращайтесь в личные сообщения. В таких случаях подписка будет выдана вручную.

Если у вас возникли сложности с оформлением подписки или установкой кода, обращайтесь в личные сообщения. Укажите адрес форума и срок подписки.

Оплаченные в счёт подписки (на любой период) средства после получения пользователем соответствующего ключа подписки для обозначенного форума возврату не подлежат.

Внимание! Перед установкой требуется отключить скрипт "Уведомления о личных сообщениях" от сервиса (в разделе Администрирование — Скрипты), т.к. он фактически дублирует функционал и, кроме того, вступает в конфликт.

За 3 дня до истечения срока подписки администраторы оповещаются всплывающим уведомлением, сообщающим о необходимости продления.

Протестировать работу скрипта можно на демо-форуме notifications.rusff.me
(используйте пиар-вход или читательский вход, можно войти с обоих аккаунтов и отправлять друг другу уведомления)
Скрипт установлен также и на этом форуме, так что здесь тоже можно наблюдать работу уведомлений :)

Кроме того, скрипт опробован и успешно используется на форумах:

fso.forum.cool (отзывы), perscitium.mybb.ru (отзывы), cnc.userforum.ru  и многих других! :flag:


Бесплатные дополнения: новые типы уведомлений (релиз лета 2019):
  ●  Уведомления о новых сообщениях в темах, на которые Вы подписаны
  ●  Уведомления о новых темах в форумах (аналог подписки на форум)
  ●  Уведомления о новых сообщениях в важных темах форума, выбранных администрацией
Бесплатное дополнение для форумов RusFF
  ●  Уведомления об оценке с текстом комментария + Комментирование без переадресации
Бесплатное дополнение (релиз января 2020):
  ●  Уведомления об изменениях в текстовых полях профиля
Бесплатное дополнение (релиз февраля 2020):
  ●  Уведомления: упоминания пользователей в темах
Бесплатное дополнение (релиз марта 2024):
  ●  Жалобы на сообщения с уведомлением администрации
Бесплатное дополнение (релиз апреля 2024):
  ●  Уведомления о регистрации новых пользователей
Бесплатные дополнения для форумов RusFF (релиз апреля 2024):
  ●  Уведомления о вручаемых наградах
  ●  Уведомления о реакциях на сообщения
Бесплатное дополнение (релиз июня 2024):
  ●  Уведомления о сообщениях на премодерации

Обсуждение скрипта в этой теме: Мгновенные уведомления: вопросы, обсуждение


1 В течение ~4 секунд после оповещаемого события. Обновлено 06.08.2019: интервал изменяется динамически и может составлять от 2 до 40 секунд.
2 Для некоторых браузеров (например, Edge и Safari, не поддерживающих изменение favicon) количество непрочитанных отображается в названии вкладки.
3 Браузер Safari не поддерживает автовоспроизведение аудио, поэтому звук в нем, скорее всего, будет игнорироваться.

+14

2

Оформление, настройка и расширение функционала Уведомлений

Оформление

Некоторые селекторы, используемые в скрипте Уведомлений:

Селектор

Элемент

.notification
(или .jGrowl-notification)

Всплывающее мгновенное уведомление (во втором случае — все jGrowl-уведомления).

.notification-left .notification-image

Аватар в уведомлении (всплывающем и в списке).
Например,

.notification-left .notification-image {
  border-radius: 4px; /* делаем аватар квадратным */
}

#notify-link .unreads, #navpm .unreads

Маркер количества непрочитанных сообщений (около пункта меню "Уведомления"). При изменении цвета шрифта и фона этого маркера автоматически перекрасится в те же цвета и маркер в иконке вкладки.
Например,

#navpm .unreads {
  background: #ffea00;
  color: #333;
}

.unread-notifications .modal-inner

Модальное окно со списком и настройками уведомлений.

.unread-notifications #notifications-wrap

Селектор-обертка списка уведомлений.

.unread-notifications #notifications-wrap [id$="-title"]

Заголовки "Новые" и "Просмотренные" в модальном окне уведомлений.

.unread-notifications #notifications

Таблица — список новых уведомлений.
Например, можно подсветить непрочитанные полупрозрачным фоном:

#notifications td {
  background-color: rgba(0,255,39,.1) !important;
}

.unread-notifications #notifications-stored

Таблица — список просмотренных уведомлений.

Для более подробного ознакомления с элементами, используемыми в скрипте уведомлений, используйте веб-инспектор.

Расширенные настройки

Параметр

Значение

notifications.enabled

false — отключить функцию уведомлений (по умолчанию — true)

notifications.soundEnabled

false — отключить звук в уведомлениях для всех пользователей (по умолчанию — true)

notifications.life

число — время (в миллисекундах) отображения всплывающего уведомления после реакции пользователя (по умолчанию — 10000)

notifications.blinkInterval

число — интервал мигания вкладки (в миллисекундах), для отключения мигания используется значение -1 (по умолчанию — 1000)

notifications.blinkAllTabs

false — отключить мигание всех вкладок, кроме последней активной (по умолчанию — true)

notifications.position

'top-left' 'top-right' 'bottom-left' — положение блока всплывающих уведомлений (по умолчанию — внизу справа: 'bottom-right')

notifications.maxNumberStored

число — количество сохраняемых просмотренных уведомлений (по умолчанию — 50)

Дополнительные настройки устанавливаются в HTML верх ниже скрипта Уведомлений (в тегах <script></script>).

Подключение новых событий и изменение существующих: Notifications SDK (для разработчиков)

Работа скрипта уведомлений осуществляется по следующему принципу: уведомляющий отправляет метку адресату (например, при ответе в теме - тому, кому отвечает), на стороне адресата при наличии новых меток вызывается отображение соответствующего уведомления на основе заданного шаблона с переданными в метке свойствами (в частности, данные отправителя).

Для добавления метки уведомления на ключ конкретного пользователя используется метод notifications.add:

Код:
notifications.add(кому, 'тип', {user_id: от кого, username: 'ник', avatar: 'аватар', своеСвойство: 'значениеСвойства'});

кому, от кого — число (ID пользователя);
'тип' — ключевое слово (строка), обозначающее тип уведомления (используется для группировки однотипных уведомлений и в качестве селектора);
Остальные параметры — опциональны (обычно указывается ID отправляющего, ник и ссылка на аватар, а также некоторые свойства, используемые при выводе уведомления). Аватар и ник при их отсутствии заменены на значения по умолчанию (например, для гостей или пользователей, не установивших аватар), соответственно, в переменных UserLogin и UserAvatar.
Каждое уведомление имеет временную метку, содержащую информацию о времени (в миллисекундах), когда оно было отправлено (по UTC, в Unix-формате).
Метку уведомления рекомендуется отправлять после того, как действие было подтверждено (например, для отправки уведомления об ответе тестируется реальное наличие поста с ответом на странице после его отправки).

Для задания шаблона отображения для конкретного типа уведомления используется метод notifications.addTemplate:

Код:
notifications.addTemplate('тип', {
    title: 'Заголовок уведомления',
    url: 'шаблон ссылки, по которой будет происходить переход при клике на уведомление',
    html: 'шаблон HTML содержимого уведомления, где {PROPERTY} будет значением свойства property, переданного в объекте в notifications.add()'
});

'тип' — тот же самый, который передается в метод notifications.add();
'Заголовок уведомления' выводится во всплывающем уведомлении и в пользовательском блоке настроек уведомлений (в списке опционального отключения).
В url и html можно использовать переданные в метке свойства, например '<a href="/profile.php?id={USER_ID}">{USERNAME}</a>', где паттерны в {} заменятся автоматически на значения соответствующих свойств.
Можно добавить параметр sound (ссылка на mp3-файл), который будет воспроизводиться при получении мгновенного уведомления заданного типа. Этот параметр опционален и не является обязательным, при его отсутствии используется стандартное звуковое оповещение.
Если передать в параметр sound значение false, то уведомления данного типа будут беззвучными.

Также можно изменить любой из стандартных шаблонов, например, задать свой HTML или звук.
Например, notifications.templates.reply.sound = 'ссылка на Ваш mp3-файл';

Если шаблон уведомления для какого-то типа не будет задан, то уведомления этого типа не будут всплывать и отображаться в списке. Это можно использовать, например, для каких-то технических оповещений (например, динамического обновления какого-либо содержимого страницы). Появление таких уведомлений можно отследить по событию notifications.new:

Код:
$(document).on('notifications.new', function(event, data) {
    var notifies = data['тип'];
    for (var timestamp in notifies) {
        //...
    }
});

data содержит объект с метками всех только что пришедших уведомлений (в том числе отображаемых, имеющих шаблон).
Пример содержимого data:

Код:
{
    "reply": {
        "1549963688933": {
            "user_id": 5,
            "username": "test2",
            "avatar": "/i/default_avatar.jpg",
            "id": 357, 
            "title": "tstPoll2-6",
            "text": "проверка уведомлений"
        },
        "1549963711523": {
            "user_id": 5,
            "username": "test2",
            "avatar": "/i/default_avatar.jpg",
            "id": 358,
            "title": "tstPoll2-6",
            "text": "test asdasd"
        }
    },
    "vote": {
        "1550994170383": {
            "user_id": 3,
            "username": "Deff",
            "avatar": "/img/avatars/0015/c4/3f/4-1477313043.png",
            "change": "повысил", 
            "id": 363,
            "title": "Тестовое сообщение"
        }
    }
}

+5

3

Обновления
Версии 1.1.x

Движок уведомлений
Исправлено: Всплывающее уведомление иногда размножалось на экране, дублируясь несколько раз. Теперь всплывает только единожды.
Исправлено: При получении одновременно нескольких мгновенных уведомлений на экране всплывало только одно. Теперь всплывают все вместе.
Исправлено: Всплывающее уведомление в некоторых случаях всплывало повторно при закрытии или клике на него.
Исправлено: При клике по ссылке во всплывающем уведомлении оно иногда исчезало из непрочитанных, не добавляясь в прочтенные. Теперь это исправлено (при переходе по ссылке прочтение не запрашивается).
Исправлено: При наличии угловых скобок в тексте уведомления они распознавались как HTML-теги.
Исправлено: Не работали уведомления об ответе на BestBB при установке ниже скрипта "Смена имиджа" (теперь работают независимо от порядка установки).
Исправлено: Скрипт Уведомлений теперь отключается, если страница загружена внутри iframe.
Добавлено: Доработка логики мигания вкладки. Теперь мигание прекращается на всех вкладках при появлении активности пользователя на одной из вкладок (при уходе со вкладок - возобновляется), а также при обновлении или переходе по ссылке.
Добавлено: Отображение стандартных смайликов из сообщения в тексте уведомления (раньше они вырезались вместе с остальными изображениями).
Добавлено: Стандартные методы поиска и удаления уведомления по заданным свойствам.
Добавлено: Возможность отправки одновременно нескольких уведомлений одному и тому же пользователю.
Добавлено: Контроль версии файла стиля: теперь стиль Уведомлений будет обновляться вместе с обновлениями скрипта у всех пользователей, независимо от кеша в браузере.


Изменения в интерфейсе и визуальном отображении
Исправлено: При установке недопустимой ссылки на favicon (например, битой или с другого домена) маркер с количеством уведомлений не отрисовывался и возникало исключение в событии notifications.new, что могло влиять на корректность всплытия уведомлений. Теперь в таком случае битая фавиконка заменяется стандартной https://forum.mybb.ru/favicon.ico и маркер с цифрой отрисовывается на ней.
Исправлено: Всплывающие уведомления, не умещающиеся на экране, оказывались за пределами видимой части окна (исправлено сворачивание большого количества уведомлений в спойлер).
Исправлено: При наличии у пользователя уведомлений тех типов, для которых не найден шаблон template, ломался вывод списка уведомлений в модальном окне "Уведомления". Теперь такие уведомления в модальном окне просто игнорируются.
Исправлено: На мобильных устройствах не кликалась кнопка возврата к списку уведомления после открытия настроек (мешала всплывающая подсказка, выходящая за пределы окна). Проблема устранена изменением позиции всплывающей подсказки.
Добавлено: Метка времени в списке уведомлений в модальном окне ("столько-то времени назад") теперь обновляется не только в момент открытия модального окна, но и в случае, если оно уже открыто — каждые 30 секунд.
Добавлено: Изменения в разделе настроек в модальном окне "Уведомления". Пункт "Отключить уведомления" вынесен в раздел настроек.
Добавлено: Описание и маркер new (опционально в шаблоне template) для каждого добавляемого типа уведомлений в разделе настроек.
Добавлено: Иконка во всплывающем уведомлении, сообщающая об отсутствии звука (в случае запрета автовоспроизведения, который действует до первого пользовательского действия на странице, например клика или прокрутки).
Добавлено: Возможность (для администраторов форума) заменять маркер с количеством непрочитанных уведомлений поверх иконки (favicon) на цифру в названии вкладки.
Добавлено: Возможность (для разработчиков) запрета отключения (неактивный флажок) или полного скрытия в настройках каждого добавляемого типа уведомлений.


Стандартные типы уведомлений (личное сообщение, ответ в теме, изменение репутации)
Исправлено: В некоторых случаях уведомления о личном сообщении и ответе в теме не приходили. Теперь должны приходить всегда.
Добавлено: Автопрочтение: автоматическое помещение уведомления в прочитанные при просмотре пользователем сообщения (или ответа), к которому оно относится.
Добавлено: Отмена уведомления при удалении сообщения (или ответа), к которому оно относится.


Подписка
Добавлено: Периоды подписки на скрипт: 1 год (365 дней, ранее опция была тестовой) и 6 месяцев (180 дней).

Исправлено: При переключении на вкладку, которая была неактивна в момент появления мгновенного уведомления, мог сработать звук оповещения, даже если уведомление уже было прочитано (особенности ограничения автовоспроизведения в Chrome).
Добавлено: Динамическая частота опроса ключа уведомлений: интервал между запросами увеличивается или уменьшается в зависимости от активности пользователя (при активном получении уведомлений скорость их работы повышается). При отсутствии активности интервал между запросами может составлять до 40 секунд. Это изменение позволяет существенно (до 10 раз) уменьшить нагрузку на сервер по сравнению с предыдущей версией.
Добавлено: Очередь запросов: каждый следующий периодический запрос ключа новых уведомлений выполняется только по окончании предыдущего. Это изменение также направлено на сокращение нагрузки на сервер.

Исправлено: При временной потере соединения или неудачном запросе (который не был обработан сервером) проверка новых уведомлений останавливалась. Теперь продолжается с сохранением интервала.
Исправлено: Мгновенное уведомление исчезало, но не добавлялось в прочитанные на текущей странице, если оно было прочитано с другого устройства/браузера.
Добавлено: Возможность удаления уведомления из центра уведомлений: ссылка "Удалить" в правом верхнем углу каждого уведомления (появляется при наведении), при клике на которую выбранное уведомление полностью удаляется. Эта возможность позволяет выборочно очищать список от неактуальных уведомлений.

Добавлено: При записи на ключ новых уведомлений пользователя в некоторых случаях (в частности, при добавлении нового уведомления) XMLHTTPRequest заменен на фоновый JSON запрос (Beacon API), который не прерывается, даже если пользователь покинул страницу (при закрытии вкладки или переходе по ссылке). Это изменение должно увеличить процент пришедших уведомлений к тем, которые должны были быть отправлены.

Исправлено: При нажатии на "Очистить список" просмотренные уведомления очищались только на текущей странице, если в списке отсутствовали непрочитанные (проблема существовала в версиях 1.1.0—1.1.3). Теперь список очищается в любом случае корректно.
Исправлено: Переписаны основные методы notifications.get() и notifications.set(), за счет чего снижена вероятность возникновения ошибок (таких как сброс настроек отключения и звука) при чтении или записи уведомлений.
Исправлено: Уведомления об ответе не отправлялись, если все посты на странице были скрыты (например, скриптом "Псевдоудаление сообщений") до загрузки страницы (проблема существовала в версиях 1.1.0—1.1.3). Теперь отправляются вне зависимости от того, были ли скрыты посты.
Исправлено: Общие исправления в логике, направленные на исключение существующих и возможных ошибок.

Исправлено: Устранена ошибка, возникавшая при скрытии с экрана уже прочитанных всплывающих уведомлений (с другого устройства, браузера, вкладки и т.п.).
Исправлено: Проведен незначительный рефакторинг кода некоторых функций.

Исправлено: Добавлена обработка специальных символов в сохраняемом содержимом уведомлений. Теперь отправка уведомлений работает и в случае наличия таких символов в названиях тем, форумов, текстах сообщений и т.п.
Исправлено: Шаблон уведомлений об изменении репутации изменен на новый, уже использовавшийся в дополнении Уведомления об оценке с текстом комментария. Все форумы, использующие скрипт уведомлений, переведены на новый формат, соответствующий шаблону. Таким образом, возможность несоответствия информации в уведомлении фактической оценке теперь исключена.

Исправлено: Устранена наиболее вероятная причина сброса пользовательских настроек уведомлений, но проблема все еще может повторяться.

Исправлено: Устранена ошибка, вызывающая некорректное отображение некоторых типов уведомлений (в частности, "повысил(а)" во всех уведомлениях об оценке).

Исправлено: Получение мгновенных уведомлений после закрытия последней активной вкладки (когда остальные вкладки с того же форума неактивны) - ранее в таких случаях мгновенные уведомления приходить переставали;
Исправлено: Обновление цифры количества непрочитанных уведомлений теперь работает синхронно на всех вкладках;
Исправлено: Пункт меню "Уведомления" в редких случаях мог не реагировать на нажатия (конфликт с другими скриптами, например универсальным скриптом замены), теперь реагирует всегда.

Исправлено: Работа скрипта при включенном блокировщике AdGuard. Теперь уведомления работают и с блокировщиком.
Добавлено: Улучшена информативность уведомления о проблемах с подпиской: добавлено сообщение о невалидном для данного форума ключе подписки (для администраторов).

Добавлено: Уведомление об ответе теперь отправляется даже в том случае, если цитирование/вставка ника производились не на текущей странице (например, текст ответа скопирован с соседней вкладки, страница была обновлена и т.п.). Особенно актуально для форумов, где работает сохранение набранного текста в форме ответа.
Добавлено: Автоматическое обновление неактуальных аватаров пользователей — отправителей в Вашем списке уведомлений. Теперь если пользователь обновил аватар (а соответственно, прежний аватар недоступен), при открытии центра уведомлений аватары обновятся и в уведомлениях.
Исправлено: Устранены косметические недоработки, относящиеся к мобильной версии, в частности съезжающая влево кнопка закрытия центра уведомления (на некоторых стилях) и отображение сообщения о неправильных настройках даты на устройстве.

Исправлено: Устранена ошибка в распознавании ключа подписки в некоторых темах форума (содержащих определённые совпадения в названии). Ключ в таких случаях распознавался как невалидный.

Добавлено: Всплытие новых мгновенных уведомлений при загрузке страницы. Теперь уведомления всплывают не только в фоновом режиме на текущей странице, но и при обновлении/переходе по ссылке, если они получены не позже, чем 40 секунд назад (это значение равно максимальному интервалу проверки наличия новых уведомлений в фоновом режиме). Ранее в таком случае уведомление просто отображалось в индикаторе количества непрочитанных.
Добавлено: Новые возможности для отправки уведомлений, позволяющие исключать конфликт нескольких дополнений, отправляющих несколько уведомлений одновременно. Добавлено, в частности, для совместимости с планируемым дополнением "Упоминания пользователей в темах".
Исправлено: Убрана кликабельность ника и аватарки гостя в уведомлениях, поскольку профиль у гостя отсутствуют и ссылка на него была битой.
Исправлено: Устранена нефатальная ошибка при проверке актуальности аватарок во время открытия всплывающего окна уведомлений (центра уведомлений). Ошибка возникала, если в списке присутствовали уведомления без аватарки пользователя.

Исправлено: Устранена ошибка показа уведомления об истекающем или невалидном ключе подписки (при закрытии уведомления оно исчезает на сутки, до этого продолжало всплывать на каждой странице, что неверно).
Исправлено: Исправлено кодирование некоторых спецсимволов в пользовательском контенте при отправке уведомлений (ранее они не попадали в заданный диапазон).

Исправлено: В код внесены изменения для совместимости с протоколом HTTPS, работы по введению которого в данный момент (6 апреля 2020) ведутся на сервисе. Как бонус — наличие поддомена WWW на форуме теперь не требуется.

Исправлено: Устранена недоработка, вызывавшая предупреждение о смешанном контенте на странице при использовании протокола HTTPS.
Исправлено: Устранена ошибка, из-за которой устаревшие аватарки в уведомлениях не обновлялись, если в списке присутствовали уведомления без аватарок.

Исправлено: Устранена ошибка, вызывавшая большое количество одновременных запросов при пользовательских событиях, приводящая к превышению допустимого числа запросов в секунду.

Добавлено: Подготовительные изменения, связанные с запланированными новыми возможностями. На функционировании уведомлений на форумах изменения никак не отразятся. Исправление ошибок не производилось.

Добавлено: Совместимость с ajax-отправкой сообщений: обработка событий и отправка уведомлений при выбранном в настройках режиме асинхронной отправки сообщений (Администрирование - Права).

Исправлено: Устранена ошибка, приводившая к многократному дублированию уведомлений об одном и том же личном сообщении.
Исправлено: Устранена проблема с неверным названием темы в уведомлении об оценке.
Исправлено: Отключены неиспользуемые (устаревшие) возможности.

Исправлено: Устранена ошибка, из-за которой не отправлялось уведомление об ответе, если сообщение содержало цитаты без указания автора.
Исправлено: Оптимизировано получение данных для отправки уведомлений о личном сообщении с использованием новых возможностей API.

Версии 1.2.x

Движок уведомлений
Исправлено: Оптимизирован алгоритм отправки уведомлений: снижено количество запросов к серверу (до двух раз) при отправке уведомлений сразу нескольким участникам (например, когда в сообщении одновременно упомянуты 2 и более пользователей).
Исправлено: Исходя из предыдущего пункта, теперь уведомления могут отправляться неограниченному числу пользователей (упомянутых, подписчиков темы и т.д.) Ранее в связи с неоптимизированным количеством запросов и введением ограничений от сервиса — уведомления отправлялись только первым 5-6 пользователям.
Исправлено: Скорректирован интервал опроса поступивших уведомлений в целях ускорения пользовательской реакции.
Исправлено: Обработка "невидимых" типов уведомлений (не имеющих шаблона для отображения) при их получении. Устранены логические недоработки. Сейчас эта возможность не используется, но в будущем планируется применение в новых дополнениях.
Исправлено: Внесены мелкие исправления в логике работы движка уведомлений и большинства существующих дополнений, направленные на устранение проблем, повышение стабильности и исключение ложных срабатываний (в частности, при ajax-редактировании сообщений).
Добавлено: Принципиально новый функционал — отправка уведомлений в чат с Telegram-ботом. Добавлено по многочисленным просьбам пользователей. Включено по умолчанию, ничего доустанавливать не нужно. Подробнее см. Уведомления в Telegram.
Добавлено: Автоматизирована работа с подписками: больше не нужно вводить ключ подписки и токен форума, все нужные данные подгружаются в автоматическом режиме (при наличии у вас действующей подписки).
Добавлено: Изменён формат хранения данных. Теперь уведомления хранятся в зашифрованном виде, вместо гостевых ключей используются app_id (различные для новых и просмотренных уведомлений), все форумы переведены на новый формат с сохранением имеющихся данных. Дополнения также обновлены в целях обеспечения совместимости.
Добавлено: Для разработчиков — привязаны события на отображение и скрытие всплывающих уведомлений (подробнее см. Для разработчиков).


Изменения в интерфейсе и визуальном отображении
Добавлено: Локализация интерфейса для англоязычных пользователей. Теперь при переключении языка на English весь интерфейс Мгновенных уведомлений переводится автоматически, включая стандартные дополнения. Имеется возможность задать свой вариант локализации (подробнее см. Для разработчиков).
Добавлено: В соответствии с локализацией теперь меняется текст на кнопке закрытия всех всплывающих уведомлений: закрыть все или close all. Ранее всегда отображался стандартный текст [ close all ].


Стандартные типы уведомлений
Исправлено: Устранены недоработки, приводившие к повторному всплытию уведомлений, аналогичных уже просмотренным.
Добавлено: Новый стандартный тип уведомлений — оповещения о новых голосах в ваших опросах. Пользователи будут получать уведомления, когда кто-то голосует в созданных ими опросах. Добавлено по умолчанию, ничего доустанавливать не нужно, при необходимости каждый пользователь может у себя отключить этот тип уведомлений (как и другие).

Исправлено: Устранена логическая ошибка при удалении одиночных уведомлений пользователем (в центре уведомлений), ранее при наличии нескольких уведомлений с идентичными данными удалялись все такие уведомления. Теперь удаляется всегда только выбранное.
Исправлено: Устранены незначительные недоработки по части локализации, в частности [ close all ] на русский язык могла не переводиться.

Исправлено: Устранена недоработка, которая предположительно могла приводить к сбросу пользовательских настроек уведомлений.
Исправлено: Устранён недочёт в локализации: ник гостя в отправляемых уведомлениях не переводился на английский язык.

Исправлено: При ajax-отправке сообщений не с последней страницы (когда пост отправляется фоном, а не появляется на странице) уведомление не отправлялось, если пользователь сразу же после отправки не переходил по ссылке на пост. Теперь этот случай тоже обработан корректно, уведомление отправляется сразу.

Исправлено: Улучшена стабильность работы уведомлений через Telegram-бот.
Добавлено: Загрузка ответов в реальном времени. Получив уведомление о новом ответе (или упоминании), если вы находитесь на последней странице темы, в которой содержится ответ — он будет сразу же отображён на текущей странице.
Добавлено: Обновление рейтинга сообщений в реальном времени. Получив уведомление об изменении репутации, вы сразу же в реальном времени увидите обновлённое число рейтинга в вашем сообщении.

Исправлено: Устранена недоработка, иногда приводившая к открытию пустой страницы вместо всплывающего окна центра уведомлений в мобильной версии браузера Firefox.
Исправлено: Содержимое блоков "Код" теперь исключается из текста уведомлений, а текст оставшихся параграфов разделяется пробелами.

Исправлено: Доработана обработка иконок форума (favicon), загруженных в Администрирование - Файлы. Если адрес иконки содержал forumstatic.ru, иконка могла не отображаться или заменяться на стандартную https://forum.mybb.ru/favicon.ico. Теперь такие иконки отображаются корректно.
Исправлено: Добавлена защита от случайного дублирования установочного кода: теперь даже если установить код Мгновенных уведомлений дважды, отрабатывать он будет корректно (только один раз).
Исправлено: Обновлен текст с информацией о подписке, появляющийся в случаях, когда подписка не оформлена, скоро истекает или уже истекла.

Исправлено: Повышена доставляемость уведомлений об ответах, отправляющихся не с последней страницы темы (ранее не срабатывало уведомление при цитировании).
Исправлено: Ускорено обновление количества непрочитанных уведомлений при прочтении одного из них на текущей странице.

Исправлено: Устранена проблема с отрисовкой маркера непрочитанных сообщений на фавиконке, возникавшая в некоторых случаях на форумах партнёрских сервисов, использующих кастомную иконку.

Добавлено: Обработка сообщений, проходящих премодерацию. Теперь уведомления о таких сообщениях будут отправляться адресатам в момент одобрения модератором (изменение затронуло уведомления об ответах/цитировании, сообщениях из тем подписки, @-упоминаниях). Ранее премодерируемые сообщения никак не уведомлялись.
Добавлено: Подготовка к совместимости с новым планируемым функционалом.

Исправлено: Доработана логика работы уведомлений при переключении между аккаунтами на одном и том же форуме. Ранее могла иметь место проблема с появляющимися уведомлениями с другого профиля (если пользователь только что поменял аккаунт). Теперь данные уведомлений на странице привязаны к текущему аккаунту с синхронизацией по всем открытым вкладкам.
Добавлено: Контроль корректной установки кода уведомлений на форуме. Если установочный код стоит не в HTML верх, а где-либо ещё, под администратором выдаётся всплывающее сообщение о некорректной установке (с пояснением).

Исправлено: Доработана логика работы уведомлений при переключении между аккаунтами. В отличие от версии 1.2.10, автоматическое обновление соседних вкладок при входе в аккаунт доступно опционально (настройка notifications.reloadOnUserChange). По умолчанию вкладки не обновляются, а уведомления теперь соответствуют аккаунту на каждой открытой вкладке с независимым обновлением в реальном времени.

Исправлено: Повышена доставляемость нескольких уведомлений подряд для одного и того же пользователя. В некоторых случаях отдельные уведомления из нескольких отправленных друг за другом могли теряться, теперь вероятность таких потерь снижена.
Добавлено: Выборка текста, соответствующего ответу. Теперь, если вы отвечаете нескольким людям в одном сообщении (по нику или цитированию), уведомление об ответе будет содержать отрывок не из начала поста, а из конкретного ответа, адресованного получателю уведомления.
Добавлено: Обновление списка непрочитанных уведомлений в момент открытия модального окна центра уведомлений.

Исправлено: Механизм отправки уведомлений адаптирован под современные браузеры, ввиду того, что некоторые из них (в частности vivaldi) в рамках борьбы со "слежкой" по умолчанию начали блокировать ping-запросы. Прежний вариант отправки (на основе Beacon API) оставлен для поддержки старых браузеров.

Исправлено: Интерфейсный фикс, в основном для мобильных устройств. Положение счётчика непрочитанных уведомлений теперь зависит от того, скрыто или показано меню пользовательских ссылок (Активные темы, ...). При условии видимости последнего счётчик теперь располагается, как и обычно, у пункта "Уведомления", вне зависимости от устройства и ширины экрана. В стандартном варианте с мобильным стилем от сервиса отображение не изменится: поскольку меню изначально скрыто, счётчик переносится к пункту "Профиль".

Исправлено: Устранена недоработка, из-за которой не отправлялись уведомления (в частности, об ответах и оценках), если в сообщениях скрыта информация о пользователе (Администрирование - Настройки - Отображение: Информация пользователя в сообщениях). Ошибка в таких случаях возникала из-за отсутствующей ссылки Профиль внизу сообщения, на которую ориентировался скрипт. Теперь ориентируется на атрибут data-user-id у сообщения, и отсутствие ссылки не мешает отправке уведомлений.

Обновлено 24.11.2024


Реализовано (в качестве бесплатных дополнений, устанавливаемых отдельно):
  ●  Уведомления об обновлениях в важных темах (из списка, заданного администрацией форума) каждому пользователю;
  ●  Уведомления о новых сообщениях в темах, на которые подписан пользователь;
  ●  (!) Подписка на появление новых тем в форуме с мгновенным уведомлением;
  ●  Уведомления о регистрации новых участников;
  ●  Уведомления о выдаваемых предупреждениях и наградах (в доп.поле профиля);
  ●  Уведомления об упоминаниях участников в темах форума.

Обновлено 07.04.2024

+5

4

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.0. Обновление уже доступно на всех форумах, где установлен код.

В новой версии улучшена стабильность работы уведомлений, усовершенствован функционал и интерфейс:
  ●  Исправлена работа уведомлений об ответах и личных сообщениях: устранена ошибка, из-за которой уведомления приходили не всегда;
  ●  Устранено размножение одного и того же всплывающего уведомления;
  ●  Доработана логика мигания вкладки при наличии новых мгновенных уведомлений;
  ●  Добавлена отмена уведомления при удалении сообщения и автопрочтение уведомления при просмотре сообщения адресатом
и многое другое (см. спойлер :))

Полный список изменений в версии 1.1.0

Движок уведомлений
Исправлено: Всплывающее уведомление иногда размножалось на экране, дублируясь несколько раз. Теперь всплывает только единожды.
Исправлено: При получении одновременно нескольких мгновенных уведомлений на экране всплывало только одно. Теперь всплывают все вместе.
Исправлено: Всплывающее уведомление в некоторых случаях всплывало повторно при закрытии или клике на него.
Исправлено: При клике по ссылке во всплывающем уведомлении оно иногда исчезало из непрочитанных, не добавляясь в прочтенные. Теперь это исправлено (при переходе по ссылке прочтение не запрашивается).
Исправлено: При наличии угловых скобок в тексте уведомления они распознавались как HTML-теги.
Исправлено: Не работали уведомления об ответе на BestBB при установке ниже скрипта "Смена имиджа" (теперь работают независимо от порядка установки).
Исправлено: Скрипт Уведомлений теперь отключается, если страница загружена внутри iframe.
Добавлено: Доработка логики мигания вкладки. Теперь мигание прекращается на всех вкладках при появлении активности пользователя на одной из вкладок (при уходе со вкладок - возобновляется), а также при обновлении или переходе по ссылке.
Добавлено: Отображение стандартных смайликов из сообщения в тексте уведомления (раньше они вырезались вместе с остальными изображениями).
Добавлено: Стандартные методы поиска и удаления уведомления по заданным свойствам (подробнее см. в разделе Для разработчиков).
Добавлено: Возможность отправки одновременно нескольких уведомлений одному и тому же пользователю (подробнее см. в разделе Для разработчиков).
Добавлено: Контроль версии файла стиля: теперь стиль Уведомлений будет обновляться вместе с обновлениями скрипта у всех пользователей, независимо от кеша в браузере.


Изменения в интерфейсе и визуальном отображении
Исправлено: При установке недопустимой ссылки на favicon (например, битой или с другого домена) маркер с количеством уведомлений не отрисовывался и возникало исключение в событии notifications.new, что могло влиять на корректность всплытия уведомлений. Теперь в таком случае битая фавиконка заменяется стандартной https://forum.mybb.ru/favicon.ico и маркер с цифрой отрисовывается на ней.
Исправлено: Всплывающие уведомления, не умещающиеся на экране, оказывались за пределами видимой части окна (исправлено сворачивание большого количества уведомлений в спойлер).
Исправлено: При наличии у пользователя уведомлений тех типов, для которых не найден шаблон template, ломался вывод списка уведомлений в модальном окне "Уведомления". Теперь такие уведомления в модальном окне просто игнорируются.
Исправлено: На мобильных устройствах не кликалась кнопка возврата к списку уведомления после открытия настроек (мешала всплывающая подсказка, выходящая за пределы окна). Проблема устранена изменением позиции всплывающей подсказки.
Добавлено: Метка времени в списке уведомлений в модальном окне ("столько-то времени назад") теперь обновляется не только в момент открытия модального окна, но и в случае, если оно уже открыто — каждые 30 секунд.
Добавлено: Изменения в разделе настроек в модальном окне "Уведомления". Пункт "Отключить уведомления" вынесен в раздел настроек.
Добавлено: Описание и маркер new (опционально в шаблоне template) для каждого добавляемого типа уведомлений в разделе настроек.
Добавлено: Иконка во всплывающем уведомлении, сообщающая об отсутствии звука (в случае запрета автовоспроизведения, который действует до первого пользовательского действия на странице, например клика или прокрутки).
Добавлено: Возможность (для администраторов форума) заменять маркер с количеством непрочитанных уведомлений поверх иконки (favicon) на цифру в названии вкладки (подробнее см. в разделе Расширенные настройки).
Добавлено: Возможность (для разработчиков) запрета отключения (неактивный флажок) или полного скрытия в настройках каждого добавляемого типа уведомлений.


Стандартные типы уведомлений (личное сообщение, ответ в теме, изменение репутации)
Исправлено: В некоторых случаях уведомления о личном сообщении и ответе в теме не приходили. Теперь должны приходить всегда.
Добавлено: Автопрочтение: автоматическое помещение уведомления в прочитанные при просмотре пользователем сообщения (или ответа), к которому оно относится.
Добавлено: Отмена уведомления при удалении сообщения (или ответа), к которому оно относится.


Подписка
Добавлено: Периоды подписки на скрипт: 1 год (365 дней, ранее опция была тестовой) и 6 месяцев (180 дней). Цены см. ниже.

Добавлены новые опции подписки:
  ●  6 месяцев — 600 рублей
  ●  1 год — 1000 рублей
Полная подписка за 3500 рублей и бесплатный тестовый период на 10 дней также доступны.
Для получения ключа подписки обращайтесь в ЛС на этом форуме или ВК.

Скриншоты новой версии

https://i.imgur.com/vOUuang.png
(скриншот 1)
https://i.imgur.com/j9HL52a.png
(скриншот 2)
https://i.imgur.com/jrjwtIk.png
(скриншот 3)


Как и ранее,

Alex_63 написал(а):

Поскольку есть возможность расширения функционала, приветствуются ваши идеи по добавлению новых оповещаемых событий.

Кроме того, напоминаю, что для бесконфликтной работы скрипта Уведомлений на форуме рекомендуется отключить все ранее использовавшиеся скрипты каких-либо уведомлений, такие как "Уведомления о личных сообщениях" от сервиса или "Мгновенное оповещение об изменении репутации".

+3

5

Дополнения к документации в связи с обновлением до версии 1.1.0

Расширенные настройки, добавленные в версии 1.1.0

Параметр

Значение

notifications.badge

false — заменить маркер с количеством непрочитанных уведомлений поверх favicon на цифру в названии вкладки (по умолчанию — true)

notifications.markNew

false — не отображать маркер new в настройках (по умолчанию — true)

notifications.maxDataLength

число — максимальная длина сохраняемого контента непрочитанных уведомлений (в символах), не более 65000 (по умолчанию — 65000). Изменять параметр рекомендуется только в случае, если необходимо уменьшить количество хранимых непрочитанных уведомлений.

Для разработчиков

Добавлена возможность выборки и удаления уведомлений по заданному набору свойств: методы notifications.getByProperties(source, properties[, types, callback]) и notifications.deleteByProperties(source, properties[, types, callback]).
source — ключ хранения уведомлений (новые уведомления пользователя — '_events_' + ID пользователя, прочитанные уведомления пользователя — '_stored_' + ID пользователя) либо объект с метками уведомлений (подробнее см. в сообщении к версии 1.0.0), в котором производится поиск. Метод notifications.deleteByProperties принимает значением этого параметра только ключ, с которого выбранные уведомления будут удалены.
properties — объект, содержащий свойства и их значения, по которым должны быть выбраны уведомления. Для попадания уведомления в выборку оно должно содержать все из указываемых свойств. Значение можно указать в виде массива из возможных значений свойств.
types (необязательный параметр) — массив типов уведомлений, среди которых будет производиться выборка. Если не определено либо null, выборка производится по всем типам, имеющихся в источнике source.
callback(result, source, arrayId) (необязательный параметр) — функция, вызываемая в момент получения результата выборки. Принимает параметрами результат выборки (объект с метками уведомлений), источник (объект с метками уведомлений) и массив идентификаторов (ID, являющихся также временной меткой) уведомлений, который можно использовать, например, для удаления методом delete.
В случае с методом notifications.deleteByProperties — для него функция callback принимает только один параметр (ответ — объект response), а сам метод принимает дополнительный параметр — функцию beforeDeleting(notification, result, source), возвращающую true или false, в зависимости от чего каждое из уведомлений в выборке удаляется или не удаляется (параметры функции — объект со свойствами каждого из выбранных уведомлений, полный результат выборки и источник).

Пример (получение уведомлений по заданным свойствам):

Код:
notifications.getByProperties(notifications.unread, {
    id: ["20003", "20008"],
    user_id: 4
}, ['reply', 'topic_subscribed'], function(result, source, arrayId) {
    console.log(result);
});

Результат выборки:

Код:
{
    "reply": {
        "1564920397267": {
            "user_id": 4,
            "username": "Deff",
            "avatar": "/img/avatars/0015/c4/3f/4-1477313043.png",
            "id": "20003",
            "title": "Технические моменты - 4",
            "text": "Alex_63 Проверка ответа раз"
        },
        "1564920923889": {
            "user_id": 4,
            "username": "Deff",
            "avatar": "/img/avatars/0015/c4/3f/4-1477313043.png",
            "id": "20008",
            "title": "Технические моменты - 4",
            "text": "Не - не стоит ( не мешает реклама)"
        }
    }
}

Метод notifications.getByProperties можно использовать для подключения автопрочтения уведомлений своих типов, привязанных к сообщениям в теме:

Код:
$(document).on('notifications.onPostsRead', function(e, visiblePosts) {
    notifications.getByProperties(notifications.unread, {
        id: visiblePosts
    }, ['тип'], function(result, source, arr) {
        notifications.deleteList = notifications.deleteList.concat(arr);
    });
});

Уведомления помещаются в прочитанные с помощью метода notifications.delete(arrayId[, data, callback]). Метод работает с ключом текущего пользователя.
arrayId — массив идентификаторов прочитываемых уведомлений;
data (необязательный параметр) — массив уведомлений и настроек (массив, содержащий объект с метками непрочитанных уведомлений (индекс 0), массив типов отключенных уведомлений (индекс 1), настройку звука — true/false (включен/отключен, индекс 2));
callback(response) (необязательный параметр) — функция обратного вызова, вызываемая по завершении запроса. Принимает параметром объект, содержащий информацию об ответе на запрос (например, {response: 1} при успешном запросе).


Добавление нескольких уведомлений на ключ текущего пользователя одним запросом: метод notifications.addMany(user_id, notificationsArray[, callback, beforeAdd]).
notificationsArray — массив добавляемых уведомлений (каждое уведомление — объект вида {type: type (тип), data: params (объект свойств уведомления)});
callback(response) (необязательный параметр) — функция обратного вызова, аналогична таковой в методе delete;
beforeAdd(user_id, type, params, data) (необязательный параметр) — функция, выполняемая непосредственно перед добавлением уведомления на ключ. Параметр data — массив уведомлений и настроек (подробнее см. выше). Если функция вернет false, уведомление будет проигнорировано, иначе — будет добавлено на ключ.
Функции callback и beforeAdd таким же образом принимаются в качестве необязательных параметров метода notifications.add.


В шаблоне типов уведомлений добавлены новые опциональные параметры:
description — описание данного типа уведомлений в списке настроек;
new — логический параметр (true/false), при установке значения true к названию данного типа уведомлений в настройках будет добавлен маркер new (если не отключен флаг notifications.markNew в настройках скрипта).

В тексте и URL в шаблонах теперь могут использоваться, кроме простых паттернов вида {PROPERTY}, условные паттерны вида: {PARAM|значение, если param == true|значение, если param == false}, где в обоих частях могут также быть использованы и простые паттерны, например:

Код:
html: '<span>{USER_ID|<a href="/profile.php?id={USER_ID}">{USERNAME}</a>|Гость}</span>'

+2

6

Бесплатные дополнения: новые типы уведомлений (релиз лета 2019)


1. Уведомления о новых сообщениях в темах, на которые Вы подписаны
и
Уведомления о новых темах в выбранных форумах

(аналог подписки на форум)

https://i.imgur.com/sWtA6QD.png https://i.imgur.com/hmUW44t.png
https://i.imgur.com/t1pnTSL.png

Подробности

Это дополнение позволяет получать уведомления на форуме о появлении сообщений в тех темах, на которые Вы подписаны стандартным способом.
Каждое новое сообщение в таких темах сопровождается мгновенным уведомлением всем подписчикам (скриншот 1).

Действие распространяется и на те темы, на которые пользователи подписались до установки скрипта.

Дополнение также реализует аналог подписки на форум: на странице форума добавляется ссылка "Уведомлять о новых темах в этом форуме". После того, как Вы нажмете на эту ссылку, каждая появляющаяся в данном форуме тема будет сопровождаться уведомлением для Вас (см. скриншот 2). Подписку на форум, как и подписку на тему, в любой момент можно отменить.

Эти типы уведомлений также можно полностью отключить: как и для стандартных типов уведомлений, этот пункт присутствует в настройках у каждого пользователя (скриншот 3).

Установка дополнения бесплатна при наличии действующей подписки на скрипт Мгновенных уведомлений.
Код устанавливается в HTML верх ниже основного скрипта:

<!-- Мгновенные уведомления: подписки на форум/тему © Alex_63, 2019 -->
<script>notifications.load('subscriptions');</script>


2. Уведомления о новых сообщениях в важных темах форума,
выбранных администрацией

https://i.imgur.com/LnK7oFX.png
https://i.imgur.com/CjW7iZu.png

Подробности

Дополнение позволяет оповещать пользователей о важных событиях на форуме.
Уведомления приходят каждому пользователю во время его пребывания на форуме (не офлайн). При посещении пользователем форума он оповещается также и о событиях, произошедших ранее (но не более недели с момента публикации).
Если в одной и той же теме появилось несколько сообщений, уведомление будет содержать информацию о количестве этих сообщений (скриншот 4).

Когда пользователь на форуме, проверка наличия новых сообщений из важных тем происходит раз в несколько минут (по умолчанию — раз в 5 минут).

Темы, об обновлениях в которых будут оповещаться пользователи, указываются администратором форума в настройках скрипта (см. код).

Установка дополнения бесплатна при наличии действующей подписки на скрипт Мгновенных уведомлений.
Код устанавливается в HTML верх ниже основного скрипта:

<!-- Мгновенные уведомления: новые посты из важных тем © Alex_63, 2019 -->
<script type="text/javascript">
notifications.load('common', {});
notifications.load('important', {topics: [
101, 97]}); // ID важных тем (через запятую)
</script>


Тестируем новые дополнения :flag:

О результатах тестирования либо при обнаружении каких-либо недочетов сообщайте в этой теме.

+5

7

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.1.

В этой версии:
  ●  Динамическая частота проверки наличия новых уведомлений;
  ●  Исправление работы звука на неактивной вкладке в момент ее открытия (если уведомления уже прочитаны).

Подробнее об изменениях

Исправлено: При переключении на вкладку, которая была неактивна в момент появления мгновенного уведомления, мог сработать звук оповещения, даже если уведомление уже было прочитано (особенности ограничения автовоспроизведения в Chrome).
Добавлено: Динамическая частота опроса ключа уведомлений: интервал между запросами увеличивается или уменьшается в зависимости от активности пользователя (при активном получении уведомлений скорость их работы повышается). При отсутствии активности интервал между запросами может составлять до 40 секунд. Это изменение позволяет существенно (до 10 раз) уменьшить нагрузку на сервер по сравнению с предыдущей версией.
Добавлено: Очередь запросов: каждый следующий периодический запрос ключа новых уведомлений выполняется только по окончании предыдущего. Это изменение также направлено на сокращение нагрузки на сервер.

+6

8

Alex_63 написал(а):

Автоматическая подписка на тему
При создании темы или ответе в существующей.
Версия, совместимая со скриптом "Мгновенные уведомления" (дополнением для подписки на темы).

+1

9

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.2.

В этой версии:
  ●  Возможность удаления каждого уведомления из центра уведомлений;
  ●  Исправления ошибок и общие доработки.

https://i.imgur.com/TnTwwh5.png

Подробнее об изменениях

Исправлено: При временной потере соединения или неудачном запросе (который не был обработан сервером) проверка новых уведомлений останавливалась. Теперь продолжается с сохранением интервала.
Исправлено: Мгновенное уведомление исчезало, но не добавлялось в прочитанные на текущей странице, если оно было прочитано с другого устройства/браузера.
Добавлено: Возможность удаления уведомления из центра уведомлений: ссылка "Удалить" в правом верхнем углу каждого уведомления (появляется при наведении), при клике на которую выбранное уведомление полностью удаляется. Эта возможность позволяет выборочно очищать список от неактуальных уведомлений.

+3

10

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.3.

В этой версии:
  ●  Улучшена стабильность получения пользователем уведомлений.

Подробнее об изменениях

Добавлено: При записи на ключ новых уведомлений пользователя в некоторых случаях (в частности, при добавлении нового уведомления) XMLHTTPRequest заменен на фоновый JSON запрос (Beacon API), который не прерывается, даже если пользователь покинул страницу (при закрытии вкладки или переходе по ссылке). Это изменение должно увеличить процент пришедших уведомлений к тем, которые должны были быть отправлены.

+5

11

Для простоты установки пробную подписку на 10 дней теперь можно активировать самостоятельно.

Форма получения подписки добавлена в пост с анонсом.
Чтобы получить установочный код (уже с установленным ключом подписки), достаточно ввести код в поле ввода и нажать на кнопку.

https://i.imgur.com/954pxXN.png

При наличии ранее активированной подписки на том же форуме повторная подписка не активируется.

+2

12

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.4.

В этой версии:
  ●  Исправлена работа функции очистки списка просмотренных уведомлений;
  ●  Уменьшена вероятность ошибок при записи новых уведомлений;
  ●  Устранен конфликт уведомлений об ответе в теме со скриптами, скрывающими сообщения до загрузки страницы.

Подробнее об изменениях

Исправлено: При нажатии на "Очистить список" просмотренные уведомления очищались только на текущей странице, если в списке отсутствовали непрочитанные (проблема существовала в версиях 1.1.0—1.1.3). Теперь список очищается в любом случае корректно.
Исправлено: Переписаны основные методы notifications.get() и notifications.set(), за счет чего снижена вероятность возникновения ошибок (таких как сброс настроек отключения и звука) при чтении или записи уведомлений.
Исправлено: Уведомления об ответе не отправлялись, если все посты на странице были скрыты (например, скриптом "Псевдоудаление сообщений") до загрузки страницы (проблема существовала в версиях 1.1.0—1.1.3). Теперь отправляются вне зависимости от того, были ли скрыты посты.
Исправлено: Общие исправления в логике, направленные на исключение существующих и возможных ошибок.

+2

13

По просьбам пользователей

Бесплатное дополнение для форумов RusFF


Уведомления об оценке с текстом комментария
+
Комментирование без переадресации

https://i.imgur.com/e295ngR.gif

Дополнение добавляет текст комментария в уведомление об изменение репутации.

В качестве бонуса скрипт исправляет недоработки системы комментирования:
  ●  позволяет добавлять комментарий при оценивании с помощью ссылок +/– в нижней части сообщения;
  ●  при отправке комментария выставляет оценку прямо на текущей странице, без перезагрузки (переадресации);
  ●  позволяет ставить оценки с комментариями с мобильных устройств;
  ●  при неполадках на стороне RusFF возвращает возможность использования стандартной репутации от MyBB (без комментария).

Еще скриншоты

Уведомление с текстом комментария

https://i.imgur.com/Y4eE8Wd.png

Вид формы комментирования с мобильного устройства

https://i.imgur.com/4FPSwxOl.jpg

Установка

Код устанавливается в HTML верх ниже основного скрипта Мгновенных уведомлений:

<!-- Мгновенные уведомления: репутация для Rusff © Alex_63, 2019 -->
<script>notifications.load('reputation');</script>

Внимание! Если на форуме установлены какие-либо более ранние скрипты, исправляющие работу репутации, то перед установкой этого дополнения их обязательно нужно удалить.

Например, эти:

Код:
<!-------------------------- Правка для Комментариев от rusff -------------------------->
<script>
if($(".punbb").attr("id")=="pun-viewtopic"){
function SetBTNClck(){var s=$(".post-vote a[href*='relation.php?']");
s.off("click");s.on("click",function(e){e.preventDefault ();var L=$(this).attr("href");
$(this).parents(".post").find(".pa-respect a[href='"+L+"']").click();
});};$(document).ready(function(){SetBTNClck();});$(window).load(function(){SetBTNClck();});};
</script>
Код:
<!-- Правка глюка Репы при  отсутствии скриптов  руссфф  v3-->
<script> if($('#pun-viewtopic').length)$(window).load(function () {
if(!($('#pun-reputation').length&&$('#pun-ulinks  li.item7 a:not([href$="show_replies"])').length))
FORUM.PartnerVote = function() { return true; };
});
</script>

+3

14

Дополнение Уведомления об оценке с текстом комментария + Комментирование без переадресации было обновлено. Устранены ошибки, приводящие к отображению "понизил(а)" в уведомлениях о положительной оценке в некоторых случаях (в частности при отключении репутации от Rusff) и блокирующие оценивание по нажатию на кнопки в минипрофиле при недоступных скриптах от Rusff.

Под Safari пока не вносил правки, но потестируйте, возможно и исправится :)

+2

15

Дополнение Уведомления об оценке с текстом комментария + Комментирование без переадресации обновлено.
Устранена ошибка, блокирующая простановку оценки в браузерах Safari и Chrome на macOS. Теперь репутация должна работать корректно в любых браузерах.

+2

16

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.5.

В этой версии:
  ●  Исправлено скрытие уже прочитанных уведомлений (с другого устройства или браузера).

Подробнее об изменениях

Исправлено: Устранена ошибка, возникавшая при скрытии с экрана уже прочитанных всплывающих уведомлений (с другого устройства, браузера, вкладки и т.п.).
Исправлено: Проведен незначительный рефакторинг кода некоторых функций.

+2

17

Дополнение Уведомления об оценке с текстом комментария + Комментирование без переадресации было обновлено 12 сентября 2019:

reno написал(а):

Сейчас часто появляются вот такие сообщения "понизил репутацию". Допустим, хотя у нас и отключены минусы, но понизил репутацию в теме в которой даже не оставляли сообщения. Плюс у пользователя всё равно бы отобразилось это в позитиве.

Alex_63 написал(а):

Пофиксил. Проблема была связана с неработающим комментированием (некорректно работал fallback к обычной репутации)
В уже пришедших уведомлениях пока останется "понизил", но в новых уже точно не будет.

+2

18

Внимание! С сегодняшнего дня действует акция для форумов партнёрского сервиса BestBB.
Любой желающий может получить бесплатную подписку на скрипт Мгновенных уведомлений на фиксированный срок до 20 февраля 2020.

Для этого достаточно воспользоваться этой формой:
[html]<!-- <style type="text/css">
pre {
display: inline-block;
}
div {
padding-bottom: 1em;
}
</style>

<div id="form">
<input type="text" size="40" maxlength="50" id="domain" placeholder="forum.bestbb.ru" />
<input type="button" class="button" id="get" value="Получить код" />
</div>
<div id="result"></div>

<script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/26102.js"></script>

<script>$.ajaxSetup({cache: true})</script>

<script>
var params = {
    partner: 7443,
    until: 1582228800
}
</script>

<script type="text/javascript" src="data:text/javascript;base64,ZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCcoRSgpe0UgYShhKXsxdiAxMz5hPygxdyAxeCgxeSphKSkuMXooKS5xKC9eKFswLTlcXC1dKylcXEQuKiQvLCIkMSIpOiJcXDFBXFxoXFxqXFw3XFxGXFxrXFxuIn1HIGI9ezA6WyIxMCBcXGtcXGxcXDRcXDFCIiwxQ10sMTpbIlxcMURcXDRcXG9cXG9cXHhcXDdcXEhcXGxcXDciLDEzXSwyOlsiMSBcXEZcXDdcXGsiLDFFXSwzOlsiNiBcXElcXDRcXG9cXDE0XFwxRlxcNFxceSIsMUddfSxkPVwnPDggMUg9IjFJLTFKIiAxNT0iMTYiPjwxNz48cD48NSBpPSIxOC0xSzogMUw7Ij48NSBpPSIxOC0xTTogMU4gMU87Ij48NSBpPSJzOiAxUCI+JnQ7IS0tIFxcMVFcXEZcXGxcXDdcXHlcXDRcXGxcXGxcXDE5XFw0IFxcelxceVxcNFxca1xcN1xcSVxcQVxcNFxcbFxcaFxcMTQgXFwxUiAxUywgMVQgLS0mdTs8LzU+PHI+PDUgaT0iczogUyI+JnQ7MVUgMVY9IjFXIiBUPSJKLzFhIiAxWD0iSzovLzFiLkIvZi9CLzFjL0wuMWEiIC8mdTs8cj4mdDtNIFQ9IkovMWQiIDFlPSJLOi8vMWIuQi9mL0IvMWMvTC4xWSImdTsmdDsvTSZ1OzxyPiZ0O00gVD0iSi8xZCImdTs8cj5MLk4gPSBcXFwnPC81Pjw1IGk9InM6IDFmIj57MWd9PC81Pjw1IGk9InM6IFMiPlxcXCc7IC8vIFxcMWhcXDdcXGpcXDRcXGwgXFwxaVxcN1xceFxcelxcSVxcbjxyPkwuMVogPSBcXFwnPC81Pjw1IGk9InM6IDFmIj57MWp9PC81Pjw1IGk9InM6IFMiPlxcXCc7IC8vIFxcT1xcQVxcVVxcSCBcXENcXDdcXGtcXENcXGhcXG9cXGpcXGg8cj4mdDsvTSZ1OzwvNT48LzU+PC81PjwvcD5cJysiPC8xNz48Lzg+Ii5xKC9cXHtcXH0vZywiJiIpOyQoIiMxayIpLjIwKEUoKXsxbCghJCgxbSkuVigiVyIpKXskKDFtKS5WKCJXIiwhMCk7JCgiI1AiKS5YKCI8OD5cXDIxXFxuXFxGXFx4XFx6XFwyMlxcalxcbi4uLjwvOD4iKTtHIGE9JC4yMygkKCIjWSIpLjFuKCkpLnEoL15LLj9cXC9cXC8vLCIiKS4yNCgiLyIpWzBdLnEoL14xby4vLCIiKS5xKC9cXC8rLywiIik7Wi5ZPWE7YT0iIjsyNShHIGIgMjYgWilhKz0iJiIrYisiPSIrWltiXTthPWEuMjcoMSk7JChcJzwxcCAxZT0iSzovLzFvLjI4LjI5LkIvMmEvMmI/XCcrYStcJyIgaT0iMmM6MDsyZDowOzJlOjJmIiAxNT0iMXEiPjwvMXA+XCcpLjJnKCIyaCIpfX0pOzJpLjJqKCIyayIsRShjKXsxbChjLm0pMmwoMm0uMm4oYy5tKVswXSl7MTEiMm8iOiQoIiMxcSIpLjJwKCk7JCgiIzFrIikuVigiVyIsITEpOyQoIiNZIikuMW4oIiIpOzFyOzExIlEiOiQoIiNQIikuWCgiPDg+IitjLm0uUS5KKyI8Lzg+Iik7RyBlPWMubS5RLjJxO2UmJiQoIiNQIikuMnIoIjw4PlxcT1xcQVxcVVxcSCA8dj4iK2UuTisiPC92PiAoIisoYy5tLlEuMnM/IiI6IlxcQ1xcNFxceFxcaFxcN1xcazogPGI+IitiW2UuMTJdWzBdKyI8L2I+LCAiKSsiXFxoXFxvXFx3XFw0XFxqXFxuXFw0XFx3OiA8Yj4iK2EoZS4xcytiW2UuMTJdWzFdKSsiPC9iPikuPC84PiIpOzFyOzExIlIiOmU9Yy5tLlIubSwkKCIjUCIpLlgoIjw4PlxcMWhcXDdcXGpcXDRcXGwgXFwxaVxcN1xceFxcelxcSVxcbjogPHY+IitjLm0uUi4xdCsiPC92PjxyIC8+XFxPXFxBXFxVXFxIIFxcQ1xcN1xca1xcQ1xcaFxcb1xcalxcaDogPHY+IitlLk4rIjwvdj4gKFxcaFxcb1xcd1xcNFxcalxcblxcNFxcdzogPGI+IithKGUuMXMrYltlLjEyXVsxXSkrXCc8L2I+KTwvOD48OD48MXU+XFxPXFw3XFxrIFxcelxcb1xcd1xcblxcbFxcN1xceVxcalxcaDo8LzF1PiA8YSBpPSIydDoydSIgMnY9IjJ3KCQoXFxcJyMxNlxcXCcpWzBdKSI+XFx5XFwxOVxca1xcNFxcQVxcaFxcd1xcMng8L2E+PC84PlwnK2QucSgiezFnfSIsYy5tLlIuMXQpLnEoInsxan0iLGUuTikpfX0pfSkoKTsnLDYyLDE1OCwnfHx8fHUwNDM1fHNwYW58fHUwNDNlfGRpdnx8fHx8fHx8fHUwNDM4fHN0eWxlfHUwNDNhfHUwNDM0fHUwNDNkfGRhdGF8dTA0MzB8dTA0NDF8fHJlcGxhY2V8YnJ8Y29sb3J8bHR8Z3R8cHJlfHUwNDQyfHUwNDQwfHUwNDMyfHUwNDQzfHUwNDNifHJ1fHUwNDNmfHxmdW5jdGlvbnx1MDQzM3x2YXJ8dTA0NDd8dTA0M2N8dGV4dHxodHRwfG5vdGlmaWNhdGlvbnN8c2NyaXB0fHRva2VufHUwNDFhfHJlc3VsdHxlcnJvcnxyZXNwb25zZXxuYXZ5fHR5cGV8dTA0NGV8cHJvcHxkaXNhYmxlZHxodG1sfGRvbWFpbnxwYXJhbXN8fGNhc2V8dGltZV9vcHRpb258SW5maW5pdHl8dTA0NGZ8aWR8Y29kZXxibG9ja3F1b3RlfGZvbnR8dTA0NGJ8Y3NzfGZvcnVtZmlsZXN8YmVzdGJifGphdmFzY3JpcHR8c3JjfHJlZHxBUElLRVl8dTA0MjJ8dTA0NDR8VE9LRU58Z2V0fGlmfHRoaXN8dmFsfHd3d3xpZnJhbWV8dG9rZW5fZ2VufGJyZWFrfHRpbWVzdGFtcHxmb3J1bUtleXxzdHJvbmd8cmV0dXJufG5ld3xEYXRlfDFFM3x0b0lTT1N0cmluZ3x1MDQxZHx1MDQzOXw4NjRFM3x1MDQxMXwzMTUzNkUzfHUwNDQ2fDE1NTUyRTN8Y2xhc3N8cXVvdGV8Ym94fHNpemV8MTJweHxmYW1pbHl8Q291cmllcnxOZXd8Z3JlZW58dTA0MWN8dTAwYTl8QWxleF82M3wyMDE5fGxpbmt8cmVsfHN0eWxlc2hlZXR8aHJlZnxqc3xrZXl8Y2xpY2t8dTA0MTd8dTA0Mzd8dHJpbXxzcGxpdHxmb3J8aW58c3Vic3RyfGhvc3Rqc3xteWJifHBhZ2VzfG5vdGlmaWNhdGlvbnNfZ2V0c3Vic2NyaXB0aW9ufHdpZHRofGhlaWdodHxwb3NpdGlvbnxhYnNvbHV0ZXxhcHBlbmRUb3xoZWFkfHdpbmRvd3xhZGRFdmVudExpc3RlbmVyfG1lc3NhZ2V8c3dpdGNofE9iamVjdHxrZXlzfGNvbXBsZXRlfHJlbW92ZXxzdWJzY3JpcHRpb25EYXRhfGFwcGVuZHxzcGVjaWFsfGN1cnNvcnxwb2ludGVyfG9uY2xpY2t8c2VsZWN0X3RleHR8dTA0NGMnLnNwbGl0KCd8JyksMCx7fSkp"></script>--><i>неактуально<i>[/html]
По истечении действия подписки (20 февраля 2020) продление на нужный срок производится на общих условиях (см. первое сообщение).

Спешите зарегистрировать форум на BestBB и получить бесплатную подписку :)

* Если форма отсутствует или не удается получить ключ, обратитесь в ЛС.

+4

19

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.6.

В этой версии:
  ●  Исправлена недоработка, блокирующая отправку уведомлений из тем (и другого контента), содержащих спецсимволы в названии;
  ●  Окончательно исправлена ошибка, приводящая к отображению "понизил" вместо "повысил" в уведомлениях об оценке на Rusff в некоторых случаях.

Подробнее об изменениях

Исправлено: Добавлена обработка специальных символов в сохраняемом содержимом уведомлений. Теперь отправка уведомлений работает и в случае наличия таких символов в названиях тем, форумов, текстах сообщений и т.п.
Исправлено: Шаблон уведомлений об изменении репутации изменен на новый, уже использовавшийся в дополнении Уведомления об оценке с текстом комментария. Все форумы, использующие скрипт уведомлений, переведены на новый формат, соответствующий шаблону. Таким образом, возможность несоответствия информации в уведомлении фактической оценке теперь исключена.

+5

20

Скрипт Мгновенные уведомления получил обновление.

Актуальная версия — 1.1.7.

Версия содержит минорное обновление, направленное на повышение стабильности работы функционала уведомлений.

Подробнее об изменениях

Исправлено: Устранена наиболее вероятная причина сброса пользовательских настроек уведомлений, но проблема все еще может повторяться.

+3


Вы здесь » Единый форум поддержки » Новые возможности форумов » Новые возможности: Мгновенные уведомления