Можно ли установить это на форум с ID Discourse? Если да, то как?
Поскольку этот плагин не является #официальным, его можно установить только на плане Enterprise или при самостоятельном размещении.
Это разочаровывает, так как, на мой взгляд, это была бы отличная функция для внедрения в каждый форум Discourse.
Скоро, чтобы отпраздновать карнавал, мы протестируем это с большим количеством людей на караоке-вечеринке. Функция шумоподавления абсолютно удивительна — голоса слышны очень чётко. Продолжайте работать над этим плагином, и ещё раз спасибо.
Я считаю, что в этом месте это не интуитивно понятно, когда, например, нужно покинуть комнату. Не могли бы вы сделать так, чтобы, как в Discord, отображалась кнопка «Покинуть»?

Да, это возможно.
Учитывая экспериментальный характер плагина, в нём отсутствуют несколько элементов интерфейса.
Отличный плагин — действительно впечатляющая работа. Я установил его и начал тестирование. Вот несколько предложений, которые могли бы улучшить пользовательский опыт:
-
Возможность выбора постоянно включенного микрофона или PTT при создании или редактировании комнаты.
-
Плавающая кнопка быстрого доступа, которая остается видимой при навигации по форуму.
-
Возможность подписаться на комнату и получать уведомления, когда кто-то присоединяется.
-
Интеграция с темами, например, привязка комнаты к обсуждению или отображение значка «Live».
-
Удержание для разговора (Hold-to-Talk) для режима PTT, оптимизированное для всех мобильных браузеров.
-
На мобильных устройствах настройки шумоподавления работают некорректно — улучшение этой функции было бы полезным.
-
Постоянный мини-плеер с базовыми элементами управления и информацией об участниках при переходе между страницами.
-
Автоматическое обновление статуса, например, «В голосовой комнате», во время подключения.
-
Улучшенные жесты для мобильных устройств (свайп для открытия/закрытия, долгое нажатие для PTT).
Плагин уже работает стабильно — эти дополнения сделают его еще более плавным и завершенным.
PTT в веб-версии довольно неудобна из-за ограничений браузера на перехват клавиш, когда окно не в фокусе, но я могу поэкспериментировать с реализацией для случая, когда окно активно.
Это то, что Discord сделал очень недавно автоматически, и мне это нравится. Как я понял, уведомления приходят, когда человек, с которым вы часто общаетесь, заходит в комнату, где вы тоже проводите время.
Я почти не использовал PTT на мобильных устройствах. Для этого потребовалось бы полное наложение или что-то подобное, а также зона касания, занимающая половину экрана, верно? Плюс блокировка поворота экрана. Это много работы.
Это отличная идея!
Честно говоря, есть несколько вещей, которые я хотел бы доработать, прежде чем рассматривать мобильный UX, но это отличный фидбек.
Прежде всего, хочу искренне поблагодарить вас за проделанную работу. Очевидно, что всё, что вы создаёте, направлено на поддержку и расширение возможностей сообщества Discourse, и такая преданность делу действительно заслуживает признания. Приведённые ниже идеи — это лишь предложения от энтузиаста, с надеждой, что они помогут сделать этот плагин ещё более мощным и удобным для всех.
А теперь несколько дополнительных идей:
1. Настройка надписи «VOICE ROOMS»
- Возможность переименовать или отредактировать заголовок раздела «VOICE ROOMS».
2. Интерфейс голосовых комнат на всю страницу
- Опция использования всех функций комнаты на выделенной странице, а не только в боковой панели.
3. Глобальное отключение звука для всех пользователей (для персонала/администраторов)
- Контроль, позволяющий сотрудникам или администраторам одновременно отключить звук всем пользователям, не являющимся персоналом.
4. Создание комнат пользователями с настраиваемыми правами
Пользователи должны иметь возможность создавать собственные комнаты и настраивать:
-
Является ли комната публичной или приватной.
-
Возможность добавлять модераторов.
-
Срок действия комнаты с ограничением по времени.
-
Автоматическое закрытие комнаты, когда её создатель покидает её.
-
Возможность назначать иконку или эмодзи для каждой комнаты для более удобной визуальной идентификации.
Ещё раз спасибо за всё, что вы уже создали. Я уверен, что этот проект превратится в прекрасный и по-настоящему ценный плагин для всего сообщества. ![]()
Это может стать одним из самых масштабных плагинов для Discourse.
Позвольте предложить несколько идей для вашего рассмотрения. Многие люди высказывают предложения, так как над чем вы работаете, имеет столь широкие последствия и может вырасти во что-то огромное…
Итак, прямо сейчас после установки я вижу его в боковой панели, и он работает. Ниже приведены некоторые предложения, которые, как мне кажется, другие не упоминали, либо они могут быть схожими.
-
Обеспечьте множество опций интерфейса и возможностей кастомизации. Например, внешний вид виджета. Темы, дизайн.
-
Возможность размещения: например, конкретное позиционирование в разных частях сайта. Опции для внедрения в подвал, заголовок и т.д. Представьте, что пользователь плагина практически не знает программирования и с трудом ориентируется в панели администратора. Сделайте одно место, где они смогут ДЕЙСТВИТЕЛЬНО разместить этот виджет (я называю его виджетом, имея в виду всё, что появляется при вызове этого плагина в боковой панели). Они должны иметь возможность перемещать его по боковой панели, менять внешний вид «виджета» и т.д.
-
Опции для автоматического приглашения пользователей в голосовой канал, если это возможно. Например, идея: если пользователь заходит в категорию поддержки, он автоматически попадает в голосовой канал. То же самое для отдела продаж и т.д. Другой вариант — запросить небольшое окно или всплывающее уведомление, сообщающее, что им следует или они будут подключены к голосовому чату. Всё это должно быть настраиваемым, чтобы каждый мог адаптировать под свои нужды. Некоторые компании используют Discord для маршрутизации потенциальных клиентов. Не все используют Discord или знакомы с ним. Они могут предотвратить или вернуть неизбежно потерянных клиентов, которые не хотят иметь дело с Discord, предоставив возможность (как минимум) голосового общения с человеком в реальном времени.
-
Также очень важная идея — интеграция с комнатой чата… Представьте, что вы немного доработаете этот плагин, и я действительно вижу, как команда Discord внедрит это в свой продукт. Представьте комнаты чата с голосовым общением. Пользователи могут (или могут быть настроены на это в любой комбинации) оставаться в канале на всём сайте, находиться в канале только на определённых частях сайта или свободно присоединяться к публичным каналам. Правила для новых пользователей, постоянных пользователей и т.д. для всего.
ОГО, это так масштабно… особенно учитывая, что сервер пока не обрабатывает это. Голосовая интеграция во всём Discourse могла бы стать огромной функцией… Множество сценариев использования: для развлечений, бизнеса, поддержки, продаж, сообщества (охватывающего все сообщества) и т.д.
Это может стать золотым шансом в текущее время, когда в Discord внедряют проверку лица. Считается, что из-за миллионов пользователей Discord многие не одобряют это потенциальное изменение и могут отказаться от него или серьёзно задуматься о переходе на другую платформу.
Вы могли бы как минимум использовать структуру голосовых каналов, разрешений и т.д. из Discord и как минимум скопировать их или перенять то, что у них получается хорошо. Я бы сосредоточился на этом в первую очередь? Так захватывающе.
Спасибо за вашу работу, очень интересный проект. Подписываюсь!
Спасибо, рад видеть, что люди с энтузиазмом относятся к проекту.
Сегодня я выпустил исправление для пользователей, которые присоединяются к комнате, но не отображаются до обновления страницы, а также добавил индикатор загрузки и звуки для присоединяющихся.
Так не должен ли плагин иметь тег experimental? ![]()
Отличный плагин.
Привет, есть ли у этого какие-либо доступные API-эндпоинты?
Да, как и почти всё в Discourse. Можешь поделиться подробностями о том, чего именно ты пытаешься добиться?
Хорошо, я изучил ваш код. У меня сейчас есть нативное React-приложение для Discourse, поэтому я думаю о том, чтобы интегрировать эту функцию в него.
О, это было бы очень интересно! Дайте знать, если понадобятся новые API для этого.
Сегодняшние обновления
-
Разрешение на создание комнат для пользователей, не являющихся сотрудниками
-
Быстрый доступ к созданию комнаты из боковой панели
-
Быстрое редактирование комнаты из боковой панели
-
Поддержка отключения звука и блокировки звука
-
Поддержка правого клика
На этой неделе добавлены новые функции
Значки
Добавлена базовая система значков, включая мгновенные и периодические значки
Определение AFK

Пользователи, ушедшие в режим AFK, помечаются и со временем удаляются из комнат. Пользователи в режиме AFK отображаются в списках участников комнат со специальным стилем.
Push-to-Talk
Как и было запрошено выше, теперь поддерживается функция Push-to-Talk. Работает только когда браузер находится в фокусе из-за ограничений платформы. Использование PTT, когда вкладка не в фокусе, требует расширения браузера и может быть добавлено в будущем.
Комнаты сцены
Поддержка комнат, где говорить может только подмножество пользователей, при этом модераторы могут предоставлять или отзывать право говорить.
Аналитика
discourse_development-# \d resenha_sessions
Table "public.resenha_sessions"
Column | Type | Collation | Nullable | Default
------------+--------------------------------+-----------+----------+----------------------------------------------
id | bigint | | not null | nextval('resenha_sessions_id_seq'::regclass)
user_id | bigint | | not null |
room_id | bigint | | not null |
joined_at | timestamp(6) without time zone | | not null |
left_at | timestamp(6) without time zone | | |
created_at | timestamp(6) without time zone | | not null |
updated_at | timestamp(6) without time zone | | not null |
discourse_development-# \d resenha_co_presences
Table "public.resenha_co_presences"
Column | Type | Collation | Nullable | Default
---------------+--------------------------------+-----------+----------+--------------------------------------------------
id | bigint | | not null | nextval('resenha_co_presences_id_seq'::regclass)
user_id_1 | integer | | not null |
user_id_2 | integer | | not null |
date | date | | not null |
total_seconds | integer | | not null | 0
session_count | integer | | not null | 0
created_at | timestamp(6) without time zone | | not null |
updated_at | timestamp(6) without time zone | | not null |
Добавлена базовая аналитика для отслеживания использования и совместного присутствия, что служит основой для других функций.
Статус пользователя

При входе в комнату автоматически устанавливается статус пользователя с использованием встроенной поддержки Discourse для этой функции.
Панель администратора
Мгновенно узнайте, сколько Resenha используется на вашем сайте, а также кто из пользователей и в каких комнатах наиболее активны.
Индикатор активности голоса
Исправлено мерцание собственного индикатора активности голоса.
Мне очень нравится обновление статуса пользователя. Спасибо за вашу тяжелую работу.
Браво, Falco ![]()
Ты разработал очень интересные функции




