The MoonCMD remote-control protocol

Мунбот может принимать команды удаленного управления на UDP порт, высылать ответы, и высылать регулярные обновления.

команды принимаются в формате:

hash команда

где hash = HMAC-SHA256(команда, пароль); порт и пароль задаются в “Настройки - Специальные - Remote”:


Поля: UDP Commands Port\pass

Впишите порт, на котором Мунбот будет слушать команды, и пароль, который будет использоваться для подписи команд.

Общий формат ответов:

ответы шлются в виде json, с gzip:

{"cmd":"<string command type>","bot":"string Bot Name","N": int,"data":"string"}

Команды (кроме стандартных, описанных в “hi” в телеге)

GetStrategiesFull выслать все стратегии

GetStrategiesActive выслать только активные стратегии

Формат выдачи:

{"cmd":"strats","bot":"BotName","N":number,"data":"string"}

N: номер пакета (все страты могут не влезть, тогда дробятся на N пакетов)

Data: список стратегий (формат обычный как при копировании страты в буфер):

##Begin_Strategy

##End_Strategy

В одном пакете может быть подряд несколько страт

Регулярные апдейты от бота на порт, с которого пришла команда:

Ордера

{"cmd":"order","bot":"BotName","oid":number,"sql":"string"}


Oid: ID ордера в БД Мунбота. Нужно использовать для корректного обновления записей в БД, когда прилетают новые sql после изменения цен, частичного или полного исполнения ордера

Балансы: (шлет раз в 5 сек)


{"cmd":"acc","bot":"BotName", "data":{ "A":”double”,"T":"double", "S":bool,"V":int}}

A: Available доступный баланс

T: Total - всего баланс

S: запущен ли бот 

V: номер версии (без точки, в формате 756)