В данном разделе хочу описать свое видение организации сообщества FreeTON
В настоящий момент имеется три разрозненных направления, на которых происходит обсуждение проекта FreeTON:
- чаты Telegram (чаты популярные в локальных сообществах)
- Форум forum.freeton.org
- Zoom / YouTube
Эти ресурсы на настоящий момент не связаны между собой, лишь изредка наблюдается связь в виде одинаковых tag-ов.
Организация разрозненного и многонационального сообщества достаточно сложная задача, поэтому все, что описано ниже исключительно технические инструменты, которые не требуют регулярного привлечения человеческих ресурсов для выполнения каких-либо задач.
Я предлагаю стандартизировать username и tag-и а так же автоматизировать взаимодействие между всеми тремя инструментами.
Это сообщение не является proposal-ом для конкурса, поэтому оформлено только на русском.
Форум:
-
Добавить на форум раздел Telegram чат (данных разделов должно быть несколько, в соответствии структуре форума т.е ответвления subgov или же языковые ответвления белорусское/русское/корейское сообщества)
-
Сообщения Telegram чатов должны храниться в базе форума
-
Сообщения Telegram чатов должны попадать под индексацию и попадать в выдачу общего поиска по форуму
-
Добавить на форум раздел стенограмма конференции
стенограмма должна включать в себя:
раздел Zoom / YouTube конференция
раздел Zoom / YouTube конференция автоматический перевод (данный раздел/вкладка в разделе требуется по той причине, что перевод по ПКМ в браузере не всегда очевиден)
speech to text
от Yandex: https://cloud.yandex.ru/docs/speechkit/stt/
от Google: https://cloud.google.com/speech-to-text
ключевая особенность данных сервисов в том, что они платные и плптп производится согласно продолжительности аудио, таким образом всем участникам форума данный функционал не нужен, а доступ к интерфейсу должен быть лишь у представителей subgovernance
- Добавить интерфейс для загрузки аудиофайла на сервис speech to text на форуме
- Добавить в админку пользователей форума возможность для определенных пользователей делать загрузку аудио для прогона через сервис speech to text
- Сообщения speech to text должны храниться в базе форума
- Сообщения speech to text должны попадать под индексацию и попадать в выдачу общего поиска по форуму
В отношении реализации: по своему опыту могу сказать, что чистые библиотеки достаточно замороченные, но, сторонние библиотеки позволяют применять эти же сервисы, но, с расширенным и более удобным функционалом.
Zoom / YouTube:
инструкция по записи конференции для Zoom
инструкция по скачиванию аудиофайла с Zoom
инструкция по скачиванию аудиофайла с YouTube (youtube-dl или через отдельный сервис)
инструкция по выгрузке аудиофайла в интерфейс на форуме
Telegram Бот:
чтение сообщений из чата
сообщение должно включать в себя:
timestamp
username
message
tags (#string)
возможность сортировки (чтобы сообщения от некоторых пользователей и других ботов пропускались - для того, чтобы отбрасывать сообщения о статистике, валидолках, и тонны спама от Галактики)
возможность указания id страницы форума на которую производится выгрузка сообщений согласно сообществу (sg_dev sg_smm sg_defi) и tag-ам (#FreeTON_WM27)
WebHook (интеграция форума с Telegram):
При публикации нового proposal в соответствующий Telegram чат должно отправляться уведомление с ссылкой на proposal, а так же tag-ом (#FreeTON_WM27)
При публикации ответа в Telegram с соответствующим tag-ом (#FreeTON_WM27) этот ответ должен попадать
в общую ветку Telegram чат (чтобы не терялась нить диалога)
в ветку с proposal (так как ответ касается именно этого proposal)
Система рейтинга:
На настоящий момент у меня нет готового ответа, как должен выглядеть и считаться рейтинг пользователя, но, задел на эту реализацию должен создаваться уже сейчас
В настоящий момент некий рейтинг имеется как на форуме: (Earned Basic, Earned First, Quote Earned Editor) так и в официальных чатах (Папа Жорика, Казначей, Популяризатор CS), но, между этими рейтингами/достижениями отсутствует взаимосвязь. При этом имя пользователя, что указано в Telegram является уникальным, а значит при желании (опционально) если пользователь желает привязать рейтинг/достижения форума и Telegram, то он должен указать одинаковые имена на обоих ресурсах. При этом Telegram бот должен считывать рейтинг/достижения пользователя с форума и присваивать аналогичные пользователю в официальных Telegram чатах. Это позволит определять в Telegram людей с которыми ведется диалог, например: sg_dev sg_smm validator.
Ко всему этому, если движок форума поддерживает такой функционал, то, при считывании username Telegram bot-ом если пользователь Telegram совпадает username форума, то подставлять имя этого пользователя (чтобы на форуме работали ссылки на профиль пользователя), в дальнейшем это позволит учитывать сообщения в Telegram и на форуме для вычисления обобщенного рейтинга.
Основная проблема в том, что все составляющие взаимосвязаны между собой и не могут быть выполнены отдельно, следовательно сложно написать конкурс, поэтому реализация должна происходить силами тех, кто запускал форум.