static O rpc(S botName, S method, O... args) { ret unstructure_matchOK2OrFail( sendToLocalBot(botName, rpc_makeCall(method, args))); } static O rpc(DialogIO bot, S method, O... args) { ret unstructure_matchOK2OrFail( bot.ask(rpc_makeCall(method, args))); } static S rpc_makeCall(S method, O... args) { if (empty(args)) ret "call " + method; ret format("call *", concatLists((L) ll(method), asList(args))); }