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

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

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


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


Новые возможности: Мессенджер

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

1

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

Мессенджер
Личные сообщения в формате диалогов

https://forumupload.ru/uploads/0015/c4/3f/2/924555.png
(скриншот 1)

https://forumupload.ru/uploads/0015/c4/3f/2/832158.png
(скриншот 2)

https://forumupload.ru/uploads/0015/c4/3f/2/258950.png
(скриншот 3)

https://forumupload.ru/uploads/0015/c4/3f/2/74673.png
(скриншот 4)

https://forumupload.ru/uploads/0015/c4/3f/2/481269.png
(скриншот 5)

https://forumupload.ru/uploads/0015/c4/3f/2/426867.png
(скриншот 6)

Разработано совместно с @Deff, авторство кода @Alex_63

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

Описание
  • Мессенджер реализует альтернативный вариант общения в личных сообщениях на форуме. В отличие от классического варианта (формат отдельных входящих/отправленных писем), реализована удобная группировка сообщений по собеседникам, объединяющая их в диалоги (скриншот 1). Диалог содержит все входящие и отправленные сообщения, относящиеся к переписке с конкретным собеседником (скриншот 2). В том числе и те, что были написаны обычным способом до установки скрипта.

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

  • Доступен поиск по имени собеседника. В строку поиска вам достаточно ввести @ и начать набирать ник, сервис предложит доступные варианты (скриншот 4). По клику на строчку с ником искомого участника откроется диалог с ним.

  • В каждом сообщении есть кнопка "Добавить в избранное", появляется при наведении (скриншот 5). Сохранённые сообщения будут отображаться в отдельном разделе "Избранное" (он доступен из меню). В диалоге и поиске избранные сообщения отмечены закрашенной иконкой звёздочки. Повторный клик по той же кнопке снимает отметку с сообщения, удаляя его из избранного (скриншот 6). Из избранного также доступен переход к диалогу, где находится сообщение.

  • Отдельно выделен раздел "Непрочитанные", где находятся все диалоги, которые вы ещё не просмотрели.

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

  • Мессенджер позволяет вести переписку в реальном времени, наподобие современных сервисов, например VK или Telegram, но с учётом специфики форумов. Новые ответы будут появляться моментально1, при прочтении ваших сообщений с них будет сниматься выделение, а в процессе набора текста собеседником вы будете видеть соответствующий статус:

    https://forumupload.ru/uploads/0015/c4/3f/2/691095.png
    на странице чата

    https://forumupload.ru/uploads/0015/c4/3f/2/643225.png
    в списке диалогов

  • Статус активности собеседника (активен/был в сети когда-то) обновляется в реальном времени2, пока вы находитесь на странице диалога:
    https://forumupload.ru/uploads/0015/c4/3f/2/124706.png

  • Кнопка "Ответить" позволяет процитировать выделенную часть сообщения или пост целиком:
    https://forumupload.ru/uploads/0015/c4/3f/2/739984.png

  • Вы можете удалять сообщения: входящие — только для себя, а собственные исходящие — также и для собеседника, если он ещё не успел их прочитать:
    https://forumupload.ru/uploads/0015/c4/3f/2/92767.png

  • Можно выбирать для удаления несколько сообщений сразу, но тогда они удалятся только для вас:
    https://forumupload.ru/uploads/0015/c4/3f/2/676386.png
    https://forumupload.ru/uploads/0015/c4/3f/2/495259.png

  • Можно полностью очистить историю сообщений с конкретным пользователем, т.е. удалить диалог. Сообщения также удалятся только для вас, собеседника это никак не затронет:
    https://forumupload.ru/uploads/0015/c4/3f/2/159285.pngили из списка диалогов: https://forumupload.ru/uploads/0015/c4/3f/2/294463.png

  • Отправка сообщений, помимо стандартной кнопки "Отправить", осуществляется также по комбинации клавиш [Ctrl+Enter], о чём содержится пояснение в форме ответа. Это поведение можно изменить (см. Расширенные настройки).

  • Если кому-то из пользователей неудобен формат диалогов, можно всегда перейти в привычный стандартный режим:
    https://forumupload.ru/uploads/0015/c4/3f/2/127644.png
    и выбрать его использование по умолчанию:
    https://forumupload.ru/uploads/0015/c4/3f/2/237162.png

  • В стандартный режим добавлена вкладка "Непрочитанные", где отображаются непросмотренные входящие.

  • Оформление мессенджера унифицировано под использование в различных стилях оформления форумов, в том числе адаптировано под мобильные устройства. Вы можете изменять визуальное отображение на своё усмотрение (см. Оформление).

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

  • Скрипт полностью безопасен для пользователей, поскольку задействует исключительно стандартные возможности MyBB (доработанные специально для создания мессенджера) и не использует сторонних ресурсов.

Установка и подключение

Установочный код: в HTML верх

Код:
<!-- Мессенджер © Alex_63, 2024 -->
<link rel="stylesheet" type="text/css" href="//forumstatic.ru/f/ru/bestbb/messenger.css" />
<script type="text/javascript" src="//forumstatic.ru/f/ru/bestbb/messenger.js"></script>

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


Скрипт предоставляется по платной подписке, подключается автоматически при активации подписки.
Стоимость подписки:

  • бессрочная (неограниченный срок) — 6490 рублей (при установке сразу на 2 и более форумов — 5990 рублей за каждый);

  • 1 год (365 календарных дней) — 2290 рублей.

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

Для активации подписки (в том числе пробного периода) обращайтесь в личные сообщения, указав адрес форума и срок подписки. Подробности установки и способов оплаты также можно уточнить в ЛС.

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

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

Скрипт уже используется на этом форуме, зайдите в личные сообщения, чтобы наблюдать его работу :) 
Обращайтесь и подключайте мессенджер к себе на форум! :flag:

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

Копирование исходного кода и любые модификации запрещены.

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


Скрипт обновляется автоматически без участия пользователя.
Актуальная версия 1.0.2 от 27 декабря 2024.


1 Наличие обновлений, а также интервал их получения, зависит от установленного скрипта мгновенных уведомлений.
2 Не реже 1 раза в минуту на активной вкладке.

+3

2

Оформление, настройка и динамические события

Оформление

Некоторые селекторы, используемые в элементах мессенджера:

Селектор

Элемент

.dialog

Диалог (строка таблицы — списка диалогов). Содержит класс .groupX, где X — ID группы собеседника (например, 1 — для администраторов, 4 — для пользователей).

.dialog.inew

Диалог, содержащий непрочитанные сообщения.

.dialog.is-my

Диалог, в котором последний ответ — ваш (а не собеседника), вне зависимости от прочтения ответов собеседником. По умолчанию содержит отметку "Вы:".

.dialog.dialog-unread

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

.dialog-avatar

Аватар собеседника в диалоге.

.dialog-user

Ссылка на диалог, содержащая никнейм собеседника.

.dialog-message

Содержание последнего сообщения в укороченном виде (начало ответа).

.dialog-status

Статус "печатает". Изначально скрыт, появляется при наличии у .dialog класса .is-writing.

.dialog-time-ago

Время отправки последнего сообщения в диалоге (в формате N ... назад).

.post.is-my

Сообщение в диалоге, отправленное вами (а не собеседником). Такой же класс присваивается вашим сообщениям в поиске и избранном.

.post.post-new

Непрочитанное сообщение. Класс автоматически снимается при прочтении сообщения собеседником.

.post.post-unread

Сообщение, отправленное вами, но не прочтённое собеседником.

.post.just-posted

Сообщение, которое вы только что отправили с текущей страницы (с помощью ajax).

.post.just-loaded

Сообщение, только что появившееся на текущей странице странице в реальном времени (когда вам ответил собеседник).

.user-status-text

Статус "печатает" в диалоге. Изначально скрыт, появляется при наличии у #user-status класса .is-writing.

#user-info

Блок информации о собеседнике в диалоге.

#user-info .user-avatar

Аватар собеседника в блоке информации.

.user-info-username

Ссылка на профиль собеседника в блоке информации, содержащая имя пользователя.

.user-info-status

Статус активности собеседника (активен/не в сети) в блоке информации.

.user-info-actions

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

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

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

Параметр

Значение

messenger.sendMode

Режим отправки сообщений:

  • 0 — отправка сообщений только по нажатию кнопки "Отправить" (стандартный способ);

  • 1 — отправка по [Ctrl+Enter] (либо [Cmd+Enter] для macOS) + стандартным способом;

  • 2 — отправка по [Enter] + стандартным способом, перенос строки по [Shift+Enter].

По умолчанию используется вариант 1.

messenger.openMode

Режим открытия диалога (при переходе из списка диалогов или из поиска):

  • 0 — в текущей вкладке;

  • 1 — в новой вкладке.

По умолчанию используется вариант 0.

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

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

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

Код:
$(document).on('messenger:имя_события', function(event, data) {
    // ваш код обработчика
});

Некоторые события имеют в объекте event свойство sender, содержащее jQuery-объект конкретного сообщения (см. ниже).
Другие события (например, событие обновления счётчика) могут иметь дополнительные данные в параметре data.

События могут использоваться для обработки содержимого сообщений и диалогов в списке, например, для распознавания пользовательских BB-тегов в появляющихся сообщениях.

Событие

Описание

messenger:dialogs_ready

Готовность списка диалогов (страница messages.php).

messenger:dialogs_load

Появление новых диалогов (при прокрутке списка диалогов либо автообновлении).

messenger:messages_ready

Готовность списка сообщений при загрузке диалога (на странице диалога с собеседником).

messenger:messages_load

Появление новых сообщений (при прокрутке списка диалогов либо автообновлении).

messenger:form_ready

Готовность формы ответа в диалоге (на странице диалога с собеседником).

messenger:post

Успешная отправка сообщения в диалог (сообщение было отправлено и появилось на странице). Объект event содержит свойство sender.

messenger:counter_update

Обновление счётчика непрочитанных сообщений в пункте меню навигации "Сообщения". В параметре data — актуальное значение счётчика.

+1

3

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

Релиз.

Исправлено: При использовании стандартного режима устранён переход в режим диалогов после отправки сообщения.
Исправлено: Косметические доработки.

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

Обновлено 27 декабря 2024

+1

4

Мессенджер получил обновление.

Актуальная версия — 1.0.1.
Версия содержит минорное обновление (исправление недоработок).

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

Исправлено: При использовании стандартного режима устранён переход в режим диалогов после отправки сообщения.
Исправлено: Косметические доработки.

+1

5

Мессенджер получил обновление.

Актуальная версия — 1.0.2.
Версия содержит минорное обновление (исправление недоработок и незначительные дополнения).

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

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

+1


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