суббота, 11 июня 2011 г.

Exchange+ API. Диктор

API сервиса для управления очередью голосовых сообщений, добавляемых через HTTP-запросы.

Для использования укажите параметр service=speaker.

Add

Добавить сообщение в очередь.

Синтаксис

service=speaker&action=add&source=...&priority=...&text=...

Параметры

Параметр Описание
source Источник сообщения. Для справки (будет отображен в программе).
priority Приоритет. Меньшие значения имеют больший приоритет.
text Текст сообщения.

Результат

Нет.

Clear

Очистить очередь (удалить все сообщения).

Синтаксис

service=speaker&action=clear

Параметры

Нет.

Результат

Нет.

Пример: скрипт для MetaTrader 4, говорящий текущее время каждые 10 секунд

Для работы скрипта требуется, чтобы DLL в терминале были разрешены.

Основной код (весь скрипт в приложенном файле):

int start()
{
    // Инициализировать сетевой модуль, открыть сессию
    InetInit();

    if (!InetOpen())
        return(0);

    // Инициализировать 10-секундный таймер
    TimerInit();
    TimerSet("10s", 10);

    // Буфер для загруженных данных и их размер
    string lines[];
    int lineCount;

    // Работать, пока пользователь не остановит
    while (!IsStopped())
    {
        // Проверить, прошло ли 10 секунд
        if (TimerCheck("10s"))
        {
            // Текст, который нужно сказать
            string text = TimeToStr(TimeLocal(), TIME_MINUTES | TIME_SECONDS);

            // Для контроля вывести в комментарий
            Print(WindowExpertName() + " говорит: " + text);

            // Адрес диктора Exchange+
            string url = "http://localhost:8090/?service=speaker&action=add&text=" + text;

            // Загрузить (сделать запрос) - добавить текст в очередь
            lineCount = InetDownloadStrings(url, lines);
        }

        // Не грузить
        Sleep(500);
    }

    // Закрыть сессию
    InetClose();

    return(0);
}

Для обращения к Exchange+ используется модуль работы с сетью Inet (интернет) библиотеки MT4.XLib.

Загрузка

Комментариев нет:

Отправить комментарий