RutonyChat содержит частично открытые данные, которые можно получить. Эта страница посвящана особенностям работы программы.
Локальный сервер
При запущенной программе поднимается локальный сервер WebSocket на порте 8383, который работают в двухстороннем режиме.
На этом сервере понимаются сервисы, каждый из которых отвечает за свой модуль данных.
Например, для чата поднимается сервис /Chat, для оповещений о новых подписчиках /NewSub и /AnySub, первый только для новых, второй и для переподписок в том числе.
Чаще всего обмен реализован в одностороннем режиме, хотя некоторые сервисы работают и в обе стороны.
Сервис сообщений
Все пойманные сообщения, а так же сервисные сообщения.
Адрес:
ws://127.0.0.1:8383/Chat
Формат:
- public int id; // номер сообщения
- public string site; // путь к картинке сайта
- public string site_str; // название сайта
- public string sub; // путь к картинке подписчика, для твитча своя, для гг другая
- public string moderator; // путь к картинке модератора (только твитч)
- public string rank; // номер/имя ранга
- public string rank_img; // путь к картинке ранга
- public int rank_msg_qty; // количество сообщений
- public int x2; // четность сообщения 1 или 2
- public string user; // ник
- public string color_nick; // цвет ника, в формате HTML - #12356 (его может не быть)
- public string text; // сообщение
- public string text_text; // сообщение текстом
- public int reply; // признак личного сообщения 0 или 1
- public bool clear_chat; // признак что сообщения с ником user нужно удалить (модерация)
- public string color_text; // цвет текста, актуально для твитча команда /me
- public bool spec_user; // признак что человек в избранном списке
- public string spec_img; // иконка избранного зрителя
- public bool sub_alert; // признак сообщение о подписке твитча/гг
- public bool fol_alert; // признак сообщение о фолловере твитча
- public bool don_alert; // признак доната
- public bool host_alert; // признак хоста
- public bool system; // признак системных сообщение / подкл., откл., ошибки, уведомления
Сервис фолловеров
Пойманный фолловер.
Адрес:
ws://127.0.0.1:8383/Follower
Формат:
- public string nick; // ник
- public string site; // сайт
- public bool test = false; // признак теста
Сервис подписчиков
Новый подписчик
Адрес:
ws://127.0.0.1:8383/NewSub
Формат:
- public string nick; // ник
- public string site; // сайт
- public string period; // период подписки
- public bool test = false; // признак теста
Переподписка
Адрес:
ws://127.0.0.1:8383/Resub
Формат:
- public string nick; // ник
- public string site; // сайт
- public string period; // период подписки
- public bool test = false; // признак теста
Подписка и переподписка
Адрес:
ws://127.0.0.1:8383/AnySub
Формат:
- public string nick; // ник
- public string site; // сайт
- public string period; // период подписки
- public bool test = false; // признак теста
Сервис доната
Пойманный донат.
Адрес:
ws://127.0.0.1:8383/Donate
Формат:
- public string nick; // ник
- public string site; // сайт
- public string text; // сообщение
- public string summ; // сумма с форматированием
- public float summf; // сумма без форматирования
- public bool test = false; // признак теста
Сервис розыгрыша
Активируется во время проведения розыгрыша.
Адрес:
ws://127.0.0.1:8383/Roll
Формат:
- public int Operation; // тип операции
- public string site; // сайт
- public string Data; // данные
Расшифровка Типа операции
- 0 - начать сбор
- 1 - ник
- 2 - сброс, списка ников
- 3 - ключевое слово установить
- 4 - ключевое слово сбросить
- 5 - разыграть, в Data победитель
Сервис Host
Host для Twitch
Адрес:
ws://127.0.0.1:8383/Host
- public string nick;
- public string period;
- public string site;
- public bool test = false;
Сервис CustomAlert
Ручные оповещения, по аналогии с подписчиками, но для ручной активации или по триггеру
Адрес:
ws://127.0.0.1:8383/CustomAlert
- public string ID = ""; // уникальный идентификатор оповещения
Сервис Лента оповещений
* Двухсторонний обмен. Сначала страница получает POST параметр theme, и после подключения отправляет имя темы программе. Которая в ответ отправляет настройки оформления. Так же при поступлении новых данных, отправляет новых подписчиков, донат и прочее.
Адрес:
ws://127.0.0.1:8383/AlertsList
* Пока деталей нет. Формат еще не имеет совсем законченый вид и проходит тестирование.
Сервис Сбора данных
* Двухсторонний обмен. Сначала страница получает POST параметр theme, и после подключения отправляет имя темы программе. Которая в ответ отправляет настройки оформления. Так же при поступлении новых данных, отправляет количество собранных за указанный период данных.
Адрес:
ws://127.0.0.1:8383/Progressbar
* Пока деталей нет. Формат еще не имеет совсем законченый вид и проходит тестирование.
Темы оформления
* Темы оформления поддерживаю возможность указания для них параметров, которые пользователь может устанавливать из программы.
Для этого необходимо что бы в шаблоне темы оформления были объявлены:
var themeIndex = "Уникальный_индекс_темы_оформления"; // Уникальный_индекс_темы_оформления используется для связки текущей темы оформления и параметров для нее. Так же этот идентификатор используется для сохранения настроек, поэтому не стоит в нем использовать не системные символы, которые не позволят сохранить настройки пользователя. Используется при загрузке предмета в Мастерскую стим.
function InitParams(data) { } Эта функция вызывается при передачи параметров. По сути это обработчик настроек которые пользователь передает теме оформления. Тут следует организовывать логику по перенастройке темы оформления.
Файл в каталоге темы оформления: params.json Содержит определения типов и значений параметров для темы оформления. Примеры и описание типов, можно посмотреть в теме оформления default-customs