Многие из нас проводят время в профильных телеграм-группах.
Власть над общением здесь принадлежит случайным людям со своими
недостатками. Нередко встречаются конфликты и злоупотребления. Это
побуждает задуматься, а можно ли поддерживать порядок иначе, так,
чтобы не расцветал мошеннический спам и одновременно ни у кого не
было абсолютной власти над адекватным собеседником?
И в моем случае эти размышления вылились в разработанную и
протестированную систему которую уже сегодня можно подключить в ваш
Telegram.
Прежде всего, нужно определить что является ключевым аспектом, валютой системы. Не карма и не баллы, не лайки и не рейтинг. Им стало само время. Что из этого следует?
-
У каждого пользователя копится время с момента написания первого сообщения.
Это аналог безусловного базового дохода. Минута за минутой, час за часом. Он необходим чтобы эмиссия системной валюты происходила без злоупотреблений, независимо от каких-либо центров управления. -
Абсолютно каждый может использовать часть накопленного времени, чтобы забанить другого пользователя в чате на это время.
Это электронный аналог второй поправки, необходимый для того чтобы власть не сосредоточилась в группе в одних руках. -
Каждый также может использовать накопленное время чтобы разбанить другого пользователя.
Обратимость бана защищает от злоупотреблений свободного оборота банхаммеров. Одновременно эта функция является обратным к эмисии процессом. Время потраченное на выкуп из бана сгорает безвозвратно. -
Накопленное время можно передать другим людям, полностью или по частям.
Эта функция в перспективе обеспечивает подключенным группам свободный рынок обмена чем угодно.
Итак, как это работает в теории разобрались, а что необходимо для практического функционирования такой системы?
-
Простой способ подключения чата к системе.
- Реализована в виде бота -
Максимально удобный для Telegram команд UX
- Есть распознавание речи основанное на нормализованных семантических представлениях
Где примеры использования?
Бот понимает в запросах и русский и английский язык в свободной форме. Используются сокращения: d - дни, h - часы, m - минуты, s - секунды. Все уведомления публичны, но исчезают через 15 секунд, чтобы не засорять общий чат.
Вот как можно посмотреть сколько времени накопилось. Забанить токсичного человека, спамера или мошенника можно указав в ответе в ему, в свободной форме, на сколько времени он получает бан (и за что по желанию). Если это было недопонимание и человек все же хороший, можно таким же образом, просто написать в ответе что его нужно разблокироватьЧтобы перевести время другому пользователю указажите в ответе сколько времени нужно передать.Довольно слов, покажите мне код!
Для бекенда использовался язык Kotlin + JVM, в качестве базы
данных используется Redis-кластер. Весь код продокументирован и
доступен на GitHub: demidko/timecobot
Чтобы начать использовать бота в вашей телеграм-группе просто
добавьте его с правами администратора: @timecbobot
Напишите пожалуйста свое мнение в комментариях, нужное ли это
для сообщества дело и стоит ли развивать систему дальше? Что можно
улучшить или поменять? Интересна ли подробная статья с кодом на
тему как это реализовано внутри?
Всем удачного дня!