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)