Архив метки: скрипт

Вариант голосового меню для IoB на примере заказа воды

Научил УД заказывать воду в одной известной фирме нашего города. Представленный ниже код это часть моего скрипта для формирования заказа. Через голосовое меню формируется массив данных для заказа, которые используются другим скриптом уже непосредственно для самого заказа на сайте компании.

В массиве menu хранятся пункты голосового меню.
Если вариант ответа предполагает подпункт меню, то последним элементом массива указывается номера меню для подпунктов. Читать далее Вариант голосового меню для IoB на примере заказа воды

Парсим курсы валют с сайта ЦБ РФ

var url = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req';
var request = require('request');

schedule("10 17 * * *", function () {
    parsevalute();
});

function parsevalute(){
    url = url;
    log('Идем на сайт ЦБ - '+url);
    var options = {
        url: url,
    };
    // Отправка данных методом POST.
    request(options, function (error, response, body, callback) {
        if (!error && response.statusCode == 200) {
          //  log('Код ответа от сервера'+response.statusCode);
           // log('Ответ от ЦБ: '+body);
        // Парсим данные
         var Valute = body.match(/<CharCode>(.*)<\/CharCode>/g);
         var Nominal = body.match(/<Nominal>(.*)<\/Nominal>/g);
         var Name = body.match(/<Name>(.*)<\/Name>/g);
         var Value = body.match(/<Value>(.*)<\/Value>/g);
         var result = [];
            for(var i = 0; i < Valute.length-1; i++) {
                result.push({
                    Valute: Valute[i].replace(/<CharCode>/g, "").replace(/<\/CharCode>/g, ""),
                    Nominal: Nominal[i].replace(/<Nominal>/g, "").replace(/<\/Nominal>/g, ""),
                    Name: Name[i].replace(/<Name>/g, "").replace(/<\/Name>/g, ""),
                    Value: Value[i].replace(/<Value>/g, "").replace(/[,]+/g, '.').replace(/<\/Value>/g, "")
                });
                //Course = parseFloat(result[i].Value)/parseFloat(result[i].Nominal);
                createState('Valuta.'+Valute[i].replace(/<CharCode>/g, "").replace(/<\/CharCode>/g, ""), '');
                setState ('Valuta.'+Valute[i].replace(/<CharCode>/g, "").replace(/<\/CharCode>/g, ""), (parseFloat(result[i].Value)/parseFloat(result[i].Nominal)));
                
            }
        }
    });
}