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” в телеге)
buy ... - применяются стандартные правила для сигналов на покупку
short ... - применяются стандартные правила для сигналов на шорт (фьючерсы)
sell token - Включить Паник Селл на монете. Пример: sell NEO
SellALL - Включить Паник Селл НА ВСЕХ активных ордерах и остановить бота
list ("lst" для короткого формата) - Список активных ордеров на продажу
silent - Отключить уведомления бота в чат о закрытых сделках
talk - Включить уведомления бота в чат о закрытых сделках
STOP - Нажать Стоп в боте (Не покупать новые сигналы)
CancelBuy - Отменить все неисполненные BUY ордера
START - Нажать Старт в боте, запустить стратегии
BL - Показать черный список монет
BL + coin - Добавить монету coin в ЧС
BL - coin - Убрать монету coin из ЧС
TempBL +N coin1 coin2 - Временный ЧС на N часов
SetParam Strategy Param Value - Поменять параметр в стратегии ("empty" для пустой строки)
SetBL+ Strategy coin - Добавить монету в ЧС стратегии или папки
SetBL- Strategy coin - Убрать монету из ЧС стратегии или папки
SetWL+, SetWL- Strategy coin - аналогично для БС
sgStart Strategy, sgStop Strategy <время, минуты>) - запустить или остановить стратегии на заданное время
ResetSession coin | ALL - сбросить сессии на монете (coin) или на всех рынках (all)
ResetLoss - сбросить счетчик профита
Leverage X [coin,coin] - поменять плечо на монетах на X
Margin [coin,coin \ ALL] ISO\Cross - поменять маржу на маркетах
ConvertBNB - пыль в BNB
report [N days \ weeks] [coin] [hide] - выслать отчет. По умолчанию за сегодня
SellPiece [coin\ALL] - продать по кусочку от каждого ордера (если параметр в стратегии SellPiece не 0)
DoUpdate - обновить версию
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)