Синхронизация Discourse и Telegram

Сообщение для индекса и для прочих разных навигационных штук, когда тема разрастется.

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

Синхронизация Discourse и Telegram

Синхронизация Discourse и Telegram позволяет автоматически публиковать сообщения из Telegram-чата в форум Discourse. Обратная синхронизация пока не предусмотрена (телеграм не позволяет отправлять сообщения от имени другого человека).

Поток сообщений в телеге нарезается на дискуссии. Каждое сообщение может либо начинать дискуссию, либо являться ответом в существующую.

Реализовано два алгоритма:

  1. Алгоритм определения заголовка дискуссии по сообщениям
  2. Алгоритм нарезки потока сообщений на дискуссии

Сейчас эта штука уже реализована и работает на одном сообществе (по некоторым причинам пока не могу дать ссылку). Есть мысли запустить что-то подобное в сообществе Zettelkasten_ru и объединить все чаты, но есть некоторые проблемы, которые можно и нужно обсудить.

Алгоритм нарезки сообщений на дискуссии

Эвристический алгоритм для нарезки потока сообщений на дискуссии.

Алгоритм принимает на вход список сообщений и для каждого сообщения определяет, начинает оно новую тему или продолжает дискуссию другого сообщения.

Алгоритм последовательно применяется для каждого сообщения в чате. Параметры channel_ids, timeout и N определяются администратором для каждого конкретного чата. Условия приведены в порядке убывания приоритета.

  1. Если сообщение отправлено из канала с идентификатором из списка channel_ids, то предполагается, что сообщение начинает новую дискуссию.

  2. Если сообщение B – reply to другое сообщение A, то предполагается, что сообщение B – продолжает дискуссию сообщения A.

  3. Если перед сообщением была длительная пауза (предыдущее сообщение было отправлено на timeout и более секунд раньше текущего), то предполагается, что сообщение начинает новую дискуссию.

  4. В противном случае предполагается, что сообщение – ответ в существующую дискуссию. Берем наиболее часто встречающуюся дискуссию среди N предыдущих сообщений.

Алгоритм работает не всегда корректно, особенно, если ведется несколько параллельных дискуссий. Однако, если культура реплаев развита хорошо, то проблем меньше.

Можно также задуматься над привлечением модератора для повышения качества работы алгоритма.

Алгоритм определения заголовка дискуссии по сообщениям

Алгоритм используется для указания заголовка дискуссии.

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

Берем из сообщения первое предложение, которое не состоит целиком из цифр, или служебных фраз типа “Привет”, “Добрый день” и т. д. и считаем это предложение заголовком темы.

А каким образом чат подвязывается к дискурсу? Путем подсадки бота?

  1. Бот с админскими правами
  2. Пользователь с специальным клиентом
  3. Ручной экспорт истории сообщений из телеги с загрузкой на форум

1 или 2 для новых сообщений, 3 для старых.

1 симпатия

… позволяет автоматически публиковать сообщения из Telegram-чата в форум Discourse

Мне кажется, это будет не очень удобно, так как телеграм это другой формат общения. Там общение происходит более спонтанно, и некоторые сообщения могут не иметь темы

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

Можно вдохновиться ботом, который прокидывает сообщения из матрикса в телеграм. Он отправляет сообщения в формате %никнейм%: %сообщение%.

1 симпатия

Тут скорее не за общение, а за сбор ценностей.

Можно настроить, чтобы темы и сообщения закрывались или скрывались по истечению какого-то времени. Хотя вот уже неделю гоняем дискурс и я тут больше времени провожу.

Хотя бы потому что удобнее.

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

А можно ссылку на бота?

Ну вот я пока что больше склоняюсь к какому-то механизму с модератором.

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

Я такой модератор. Постоянно делаю дайджесты, соответственно все читаю.

1 симпатия

А можно ссылку на бота?

@matrix_t2bot

1 симпатия