Skip to content

Планы разработки

khades edited this page Feb 11, 2018 · 4 revisions

Улучшения текущего функционала бота

Улучшение системы шаблонов

Регистронезависимые команды

В данный момент для бота команды типа "Up", "uP", "UP, "up" это разные команды, будет проведено обновление кодовой базы создания\обновления команд с принудительным конвертированием имени команды в нижний регистр. Так же будет обновлена существующая база данных команд с учётом этих функций.

Команды, отображающиеся только во время определённых игр

Аналогично уже существующему функционалу для автосообщений, будет реализован функционал вывода сообщении только при определённой игре на стриме. Соответственно вывод команд перечисления команд в чате будет соответствовать этой логике.

Введение системы кулдаунов команд

В данный момент у каждой команды есть пассивный кулдаун в 30 секунд, при повторном запросе команды раньше чем через 30 секунд сообщение отправляется в личку. Будет добавлен дополнительный флаг для описания команды для изменения такого кулдауна. Эта функция понадобится для дальнейшего расширения функционала бота (смотри пункт "Коины").

Виджет для сабтрейнов

Сабтрейны есть, в чате пишутся уведомления и идёт подсчёт, а виджета для стрима нету. Будет реализован.

Расширенный функционал логгирования(протоколирования) банов

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

Данная функция накладывает данные ограничения на масштабируемость бота:

  1. Для данного функционала необходимо чтобы бот был модератором на канале.
  2. Максимальное количество каналов, на котором эта функция будет работать - 50.

Расширение системы автосообщений

Для упрощения управления автосообщениями планируется система "ссылок" на шаблоны команд, например раз в Х минут показывать тело команды "!donate". В то же время если команда "!donate" будет обновлена, так же будет обновлено тело автосообщения.

Документация текущего функционала

В данный момент есть скудное описание функционала бота по ссылке https://github.com/khades/servbot/wiki

Планируется расширение документации по ссылке. Так же планирууется добавление подсказок в сам интерфейс бота.

Новые функции бота

Написание Twitch Extensions для функционала бота

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

УДАЛЕНО - Сбор статистики зрителей\подписчиков\активных пользователей чата

В данный момент бот собирает информацию по подписчикам и стоимости подписок. Для дальнейшего расширения функционала бота (смотри следующий пункт).

Будет введена система записи количества текущего количества зрителей, людей в чате и активных пользователей по часам\дням\месяцам, так же будет анализироваться текущий массив подписчиков помесячно.

Коины

Под "коинами" подразумевается числовое выражение активности и полезности зрителя для канала.

Его полезность выражается в:

  1. Подписках
  2. Донатах
  3. Просмотре стрима
  4. Активности в чате

Использовать "коины" возможно в интерактивных действия в чате (Вызов команды, Голосования любого типа и т д, в дальнейшем будут описаны дополнительные функции, оплачиваемые "коинами").

Так как размер канала будет влиять на общую массу "коинов" у зрителей, предлагаются механизмы контроля этой массы.

В функцию сбора статистики также будет добавлена статистика заработка\траты коинов.

Все операции с коинами можно производить через расширение твитча, без опоры на сам чат или внешний сайт.

Поощрения пользователя за активность

Подписки

В данный момент уже собирается информация по подпискам через чат с уровнем подписки (5\10\25 долларов) и коины начисляются из расчёта 1 цент = 1 коин

Донаты

В данный момент уже собирается информация по битсам через чат с насчилением коинов из расчёта 1 цент = 1 коин

Так же возможно обвязать внешние донат-системы streamlabs\donatepay\donationsalerts с такой логикой работы:

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

Системы streamlabs\donatepay предоставляет полнофункциональное API для функций просмотра донатов с историей, в том случае если бот будет "оффлайн" по техническим причинам.

В то же время система donationalerts предоставляет такие данные только в режиме реального времени, без запроса истории, но техническая поддержка сайта заверила о создании полнофукнционального АПИ для этих дейсвтий.

Активность на канале

Все распределения коинов на канале будут вестись из принципа распределения определённой суммы коинов на группу пользователей, например будет произведена раздача 5000 коинов среди 1000 зрителей, каждый получит по 5 коинов.

Будет реализованна двойная система поощрения пользоватей на канале.

  1. Зрители, тоесть пассивные пользователи будут периодически получать коины в соответствии с вышеописанной логикой
  2. Зрители, писавшие в чат в определённый период времени будут получать дополнительное количество коинов в соответствии с вышеописанной логикой.

Такое начисление коинов можно будет отключить, а так же можно будет модифицировать периоды и сумму раздачи.

УДАЛЕНО - Обесценивание на основании времени получения "коина"

Общая структура "коинов" будет записывать посуточное пополнение коинов в блоки (например если человек заработал три раза по пять коинов 5 сентября, будет запись в виде 5 сентября - 15 коинов). Будет возможность указывать модификаторы обесценивания таких коинов в зависимости от времени пополнения, например блоки старше двух недель обесценятся в два раза, а блоки старше месяца - в пять.

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

УДАЛЕНО - Модификаторы для действий на основании количества зрителей\подписчиков\активности в чате

На основании функции сбора статистики можно проанализировать активность и "размер" канала и на основании этого можно либо автоматически ставить модификаторы для действий, либо давать рекомендовации при оценке количества снимаемых коинов за действие, так же можно расчитывать количество раздаваемых коинов за активность на канале (смотри пункт "Активность на канале").

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

Интерактивные функции бота

Данные функции расчитаны на упрощение и улучшение взаимодейсвтия стример-зритель(потенациальный донатер\подписчик)

Расширенные сабдни

При текущей работе функционала сабдней поступило предложение сделать увеличение веса голоса в зависимости от уровня подписки. Однако через чат твитча нельзя запросить уровень подписки, а логгирование всех подписок не даёт полное представление об уровне подписки (по той причине что не гарантируется непрерывная работа бота и подписки могут потеряться по причине падения бота\проблем коннекта до сервисов твитча\профилактике бота\профилактических работ на самой серверной площадке).

Этот функционал можно реализовать двумя способами

  1. Сделать виджет в расширении твитча, таким образом сам клиент будет через http api отдавать уровень своей подписки, это проще чем делать это через отдельный сайт. Запросить уровень подписки через чат нельзя, так как апи твитча отдаёт уровень подписки пользователя только при использовании учётной записи конкретного пользователя.
  2. Вместо уровня подписки дать возможность пользователям влиять на вероятность голосования количеством коинов, это так же можно будет сделать через расширение твитча. В этом случае будет реализованна возможность установки минимального и максимального порога вложения коинов.

В случае реализации данной системы с учётом веса голоса, её можно использовать для розыгрыша игр\мерчендайза и т д.

Голосования

Будет реализована функция как строгих голосований (Заранее определённые варианты), так и свободных (пользователь вводит что хочет, либо голосует за вариант другого пользователя).

Голосовать можно будет в самом твитче с помощью расширения твитча. Так же для этого функционала будет написан "виджет" для стрима для отображения результатов в режиме реального времени

Победа в голосовании будет учитываться по двум вариантам:

  1. По истечению времени или по заркытию голосования администрацией канала либо при прекращении поступления голосов за определённое время (например если коинов не поступало две минуты, возможно реализовать механизм продления только в том случае если голос повлиял на результат голосования).
  2. При достижении порога одним из вариантов голосования.

Учёт голосов и силы голосов можно сделать также как и в "сабднях":

  1. С учёом сложенных коинов, в этом случае будет реализованна возможность установки минимального и максимального порога вложения коинов.
  2. Статуса пользователя и уровня его подписки.

Так же можно будет вводить голосования за один конкретный вариант, в этом случае достижение порога голосов\коинов должен быть достигнут в определённый момент. Эти голосования будут обеспечивать дополнительный функционал, например:

  1. Бан особо душного человека в чате силами зрителей. Данный вид голосования будет иметь обязательный кулдаун для.
  2. Интерактивность со стримером (дроп игры, прохождение игры на определённых правилах).
  3. "Голос петуха с параши" - в случае чата, закрытым сабмодом\эмотмодом можно будет проголосовать за сообщение, которое пройдёт в чат в обход этих ограничений.
  4. Операции с заказом песен (будет описано далее), например коллективный заказ песни, поднятие песни в плейлисте, скип песни.
  5. Механизм тотализатора за исход какогото события в игре, в таком случае после закрытия голосования собранная сумма будет роздана тем пользователям, кто проголсовал за вариант, соответствующий исходу события в зависимости от вложенной суммы.

Данный функционал, кроме тотализатора, можно реализовать и на основании статистики по размеру канала вместо учёта количества коинов, например забанить человека в канале с 300 активными людьми в чате если за это проголосовало 45% человек (процент будет варьироваться в зависимости от статистики канала)

Заказы песен

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

Особенности

  1. Система тегирования треков: Модератор или владелец канала может указать треку определённый тег типа “gachimix”, “earrape”, “racism” и т д.
  2. Администрация канала может указать какие треки НЕ добавлять в очередь на основе проставленных тегов, так же возможность указать модификатор для определённого тега, например - ставить гачимиксы при закидывании пятикратного количества коинов
  3. Опционально - система глобального применения тегов, тег “гачимикс” указанный на канале Х будет применён ко всем каналам силами специально выбранных модераторов с ваших каналов.
  4. Опциональная премодерация треков модераторами чата для принудительного тегирования видео с ютуба
  5. Функция скипа текущего трека с учётом голосов текущих сабов либо по закидыванию определённого количества коинов
  6. Функция приоритезации трека за коины (Желательно с “кулдауном”)
  7. Коллективные заказы песни по достижению предела коинов

Clone this wiki locally