Внешний источник данных - rutony/rutonychat-testscripts GitHub Wiki

Внешние источники данных

Программа поддерживает внешние источники данных. На данный момент это:

  • Сообщение
  • Донат

Для передачи данных используется WebSocket с адресом ws://localhost:8383 и определенный сервис. Для каждого типа данных используется своя структура и сервис.

Сообщения

// Пример, на nodejs 

var WebSocketClient = require('websocket').client;
var client = new WebSocketClient();

client.on('connect', function(connection) {

    var jData = {
        "site_img": "<img src='https://upload.wikimedia.org/wikipedia/commons/7/7d/Plata_18x18.png' />", // можно указать ссылку на картинку
        "username": "user123", // никнейм
        "user_id": "user123", // уникальный id чаттера, принадлежащий только ему (Ранги, модерация)
        "user_color": "#26B81A", // цвет ника, html
        "message_id": "msg123123", // уникальный id сообщения
        "message": "test text 😋", // текст сообщения
        "clear_chat": false // признак модерации (используются user_id и message_id)
    }
    var j = {
        "type": "message",
        "data": JSON.stringify(jData)
    };

    connection.send(JSON.stringify(j));

    connection.on('error', function(error) {
        console.log("Error: '" + error + "'");
    });

    connection.on('message', function(message) {
        console.log("Received: '" + message.utf8Data + "'");
    });

});

client.connect('ws://localhost:8383/Chat', '');

Донат

// Пример, на nodejs 

var WebSocketClient = require('websocket').client;
var client = new WebSocketClient();

client.on('connect', function(connection) {

    var jData = {
        "username": "user123",
        "text": "test text",
        "amount": 1.23,
        "currency": "RUB"
    }
    var j = {
        "type": "donate",
        "data": JSON.stringify(jData)
    };

    connection.send(JSON.stringify(j));

    connection.on('error', function(error) {
        console.log("Error: '" + error + "'");
    });

    connection.on('message', function(message) {
        console.log("Received: '" + message.utf8Data + "'");
    });

});

client.connect('ws://localhost:8383/Donate', '');