База знаний

Ответы на все вопросы

Как войти, как пользоваться чатами, где настройки безопасности. Не нашли ответ — напишите в поддержку, ответим.

01 Аккаунт и регистрация

Нужен ли email для регистрации в UniTalk?
Email может быть необязательным — это зависит от настроек при регистрации. Однако мы настоятельно рекомендуем привязать почту: она защитит ваш аккаунт и позволит быстро сбросить пароль при утере.
Что такое UniTalk ID и зачем нужен username?
Username формирует ваш постоянный идентификатор в сети (например, @username:unitalks.duckdns.org). Отображаемое имя (Display Name) можно менять когда угодно, а username остаётся уникальным для отправки приглашений.
Как восстановить забытый пароль?
На экране авторизации нажмите «Забыли пароль?» и введите адрес электронной почты, указанный при регистрации. Если почта не была привязана, напишите администратору сервера с подтверждением владения сессией.
Можно ли войти по номеру телефона?
UniTalk не требует и не собирает телефонные номера пользователей ради максимальной конфиденциальности. Авторизация происходит по связке ID и пароля либо через аппаратные ключи безопасности.

02 Чаты и переписка

Как упомянуть пользователя в сообщении?
Введите символ @ и начните набирать имя или логин собеседника. Появится всплывающий список участников — выберите нужного, и он получит персонализированное уведомление.
Как отправить файлы или фото в исходном качестве?
Нажмите на значок скрепки или перетащите файл прямо в окно диалога (Drag & Drop). UniTalk не пережимает документы и изображения артефактами сжатия — получатель скачает оригинальный файл.
Как работают отметки о прочтении (Read Receipts)?
Рядом с отправленным сообщением внизу отображаются маленькие аватары собеседников, которые уже прокрутили диалог до этой реплики. В настройках приватности эту индикацию можно отключить при желании.
Как найти старое сообщение или ссылку?
Воспользуйтесь встроенным поиском в верхней панели комнаты. Поиск индексирует расшифрованную локальную историю на вашем устройстве, мгновенно находя текст, файлы и ссылки.

03 Настройки и кастомизация

Как переключить оформление между светлой и тёмной темой?
На сайте UniTalk тема переключается кнопкой с иконкой солнца/луны в верхнем правом углу шапки или автоматически повторяет настройки вашей операционной системы. В клиентах это делается в разделе «Настройки» → «Внешний вид».
Как настроить индивидуальные уведомления для комнат?
Нажмите правой кнопкой мыши по комнате (или долгим тапом на смартфоне) и выберите уровень уведомлений: «Все сообщения», «Только упоминания и ключевые слова» или «Без звука».
Как сменить аватарку и отображаемое имя?
Перейдите в настройки профиля в левом нижнем углу интерфейса. Там можно загрузить новое фото и отредактировать отображаемое имя — изменения мгновенно увидят все ваши собеседники.

04 Комнаты и шифрование

Как сделать комнату полностью приватной?
При создании комнаты выберите режим «Закрытая комната (Только по приглашениям)». Также обязательно включите тумблер «Сквозное шифрование (E2EE)», чтобы ключи диалога хранились исключительно на устройствах участников.
Увидят ли новые участники историю до их вступления?
Это настраивается создателем или администратором комнаты: можно открыть всю прошлую историю, показывать историю только с момента приглашения или с момента фактического входа.
Что такое резервная копия ключей шифрования?
Для расшифровки сообщений на новых устройствах UniTalk предлагает создать зашифрованную резервную копию ключей (Secure Backup) с кодовой фразой или ключом восстановления. Это позволяет не потерять старые переписки при смене смартфона.

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

Как создавать и подключать ботов в UniTalk?

Ботов для UniTalk можно создавать и настраивать через панель управления сервером: admin-unitalks.duckdns.org ↗.

Панель администратора: в веб-интерфейсе вы можете создавать сервисные аккаунты ботов, генерировать постоянные Matrix Access Token, управлять аватарками и именами ботов, а также открывать доступ к комнатам.

Возможности создания и интеграции ботов:

  • Регистрация сервисного аккаунта: создайте пользователя для бота (например, @helper_bot:unitalks.duckdns.org) в панели admin-unitalks.duckdns.org.
  • Получение токена доступа: сгенерируйте Access Token для авторизации запросов через стандартный Matrix Client-Server API.
  • Управление комнатами: приглашайте бота в личные диалоги, рабочие группы или публичные каналы, выдавайте права модератора или администратора.
  • Поддержка любого стека: ботов можно писать на Python (matrix-nio), JavaScript/TypeScript (matrix-js-sdk), Go, Rust или на любых языках через обычные HTTP-запросы.
  • Интерактивность: бот может отправлять не только обычный текст и файлы, но и полноценные HTML-пузыри — интерактивные мини-приложения с кнопками, формами и анимацией.
HTML-пузыри: что это такое и как отправлять сообщения-страницы?

HTML-пузырь — обычное сообщение, которое показывается как маленькая веб-страница (HTML + CSS + JavaScript) прямо в чате, без отдельного окна. Работает в веб-версии UniTalk и на Android.

Как отправить в чат:

  • Своя страница: напишите в чате команду /html и после пробела код (можно в несколько строк, перенос строки — Shift+Enter).
    Пример:
    /html <h3>Привет</h3><button onclick="this.textContent='Нажато'">Нажми</button>
  • Готовые примеры для быстрого тестирования:
    /htmldemo товар, /htmldemo плеер, /htmldemo график, /htmldemo код, /htmldemo талон, /htmldemo форма.
  • Прозрачность и просмотр исходного кода: под пузырём кнопка </> Код показывает исходник. Получатель всегда видит, что внутри.
  • Проверка вёрстки: проверить страницу можно командой /html в своём чате «Избранное».
Из чего состоит сообщение: формат Matrix и поле im.unitalk.html_bubble

Обычное текстовое сообщение Matrix (msgtype: m.text). Его body — запасной текст для клиентов без поддержки пузырей. Страница лежит в поле im.unitalk.html_bubble:

{
  "msgtype": "m.text",
  "body": "Интерактивный виджет (откройте в UniTalk)",
  "im.unitalk.html_bubble": {
    "html": "<ваш код>",
    "title": "Название",
    "height": 300
  }
}
  • title и height необязательны.
  • Размер сообщения — до 48 КБ.
  • Боты, созданные через admin-unitalks.duckdns.org, отправляют такие события напрямую через Matrix Client-Server API.
Какой размер у пузыря, адаптивная вёрстка и переменные темы

Ширина и адаптивность:

По ширине пузыря чата: до 440 пикселей на вебе, на Android не уже 280 dp. Пишите вёрстку резиновой: width: 100%, flex, grid.

Высота:

Страница сама сообщает свою высоту: внутри пузыря стоит маленький скрипт, который измеряет высоту <body> (вместе с его полями) при загрузке, при любом изменении размера и раз в 0,4 секунды. Окно подстраивается: минимум 48, максимум 560 пикселей (дальше появляется прокрутка внутри пузыря).

Почему бывает странно (обрезается):

Если вёрстка привязана к высоте окна (height: 100vh, min-height: 100vh, position: fixed/absolute у всего содержимого, центрирование по высоте окна), то высота «окна» — это высота самого пузыря (сначала 120 пикселей на вебе и 140 dp на Android), и страница сжимается вместе с ним: содержимое обрезается.

Решения:

  1. Не привязывайте вёрстку к высоте окна: задавайте обычную высоту содержимого (padding, height: 240px).
  2. Или явно напишите нужную высоту: <meta name="bubble-height" content="300"> в начале страницы (от 48 до 560), либо поле height в сообщении. Тогда пузырь не меньше этой высоты.

Тема:

У страницы есть переменные --fg (цвет текста), --accent (фиолетовый), --line и --soft (линии и мягкий фон); они сами меняются для светлой и тёмной темы. Фон пузыря прозрачный: задайте свой, если нужен.

Что можно и что нельзя: безопасность и песочница

Можно:

Любой HTML и CSS, JavaScript (в том числе eval / new Function), canvas, Web Audio (звук после нажатия кнопки), таймеры, формы без отправки (кнопки, переключатели, поля, списки), картинки и звуки только как data:-адреса внутри страницы.

Нельзя (закрыто политикой безопасности):

  • Сеть: нет запросов fetch / XHR / WebSocket, нет внешних скриптов, стилей, шрифтов и картинок по ссылкам;
  • Доступ к вашим данным: страница не видит ни чата, ни аккаунта, ни хранилища браузера, ни файлов (на вебе это изолированная рамка sandbox без allow-same-origin, на Android WebView с блокировкой сети и файлов);
  • Переходы и устройства: переходы по ссылкам, всплывающие окна, отправка форм, камера, микрофон, геопозиция.

Единственное, что страница может сообщить приложению, — свою высоту.

Советы:

  • Делайте кнопки не меньше 40 пикселей высотой: пузырь нажимают пальцем.
  • Не запускайте бесконечные циклы без пауз: они тормозят вкладку.
  • Проверить вёрстку можно командой /html в «Избранном».
Поддержка онлайн

Остались вопросы?

Напишите в поддержку прямо из приложения: поможем разобраться или подскажем, как настроить под себя.

Написать в поддержку ↗