{"id":328343,"date":"2022-01-20T15:01:04","date_gmt":"2022-01-20T15:01:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=328343"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=328343","title":{"rendered":"<span>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u043d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0438\u043c\u0435\u0435\u0442 \u043c\u043e\u0449\u043d\u0435\u0439\u0448\u0438\u0439 LUA-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e. \u0421\u043a\u0440\u0438\u043f\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 \u0438\u043b\u0438 \u0438\u043c\u0435\u0442\u044c \u0432\u043d\u0443\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b, \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044f \u043f\u043e\u043b\u0435\u0442 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 <a href=\"https:\/\/wiki.mikrotik.com\/wiki\/Manual:Scripting\" rel=\"nofollow noopener noreferrer\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a> \u043f\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u0440\u0430\u0442\u043a\u043e \u0438, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u044e\u0449\u0435\u0439 \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0443, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0434\u043d\u0443 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0440\u0443\u0431\u0440\u0438\u043a \u00ab\u0441\u043a\u0440\u0438\u043f\u0442\u0438\u043d\u0433\u0430\u00bb, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. <\/p>\n<p>  \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u0438, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043f\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u0432\u044b\u0448\u0435, \u043b\u0438\u0431\u043e \u0441 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/blog.telecom-sales.ru\/napisanie-skriptov-dlya-routeros\" rel=\"nofollow noopener noreferrer\">\u0437\u0434\u0435\u0441\u044c<\/a>). \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u043d\u0430\u0442\u044c \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a, \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u043e\u0431 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0442.\u0434\u2026 \u0422\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f <a href=\"https:\/\/habr.com\/ru\/post\/270719\/\">habr.com\/ru\/post\/270719<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0432\u0442\u043e\u0440 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 LUA \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u0442\u0430\u043a\u0436\u0435, \u0447\u0442\u043e \u0432 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u2013 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434, \u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b (\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b) \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 (\u0432 \u0432\u0438\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432). \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u0430\u043c, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u0438\u0445 \u0442\u0435\u043a\u0441\u0442 \u0432 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<p>  \u0414\u043e \u0432\u0435\u0440\u0441\u0438\u0438 \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421 6.2 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043d\u0435 \u0431\u044b\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u043e\u0434\u043d\u0430\u043a\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b :parse, \u043a\u0430\u043a \u043e\u0431\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"lua\">:global myFunc [:parse \":log info Goodbay!\"]; $myFunc;<\/code><\/pre>\n<p>  \u0418\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430:<\/p>\n<pre><code class=\"lua\"># \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 (\u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u0442\u0430\u043c \u0435\u0449\u0451 \u043d\u0435\u0442) \/system script add name=myScript source=\":put \\\"Hello world !\\\"\"  # \u043f\u0430\u0440\u0441\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u0442\u0435\u043a\u0441\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u0434: :local myFunc [:parse [\/system script get myScript source]] $myFunc<\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044f \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e, \u0438\u0437\u044f\u0449\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e, \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u043f\u043e\u0447\u0435\u0440\u043f\u043d\u0443\u0442\u043e\u0433\u043e \u043c\u043d\u043e\u0439 \u0433\u0434\u0435-\u0442\u043e \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0440\u0430\u0445 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0430 \u00abFunction.:<\/p>\n<pre><code class=\"lua\">:local fnArray; :foreach f in=[\/system script find where name~\"^Function.*\"] do={:set fnArray ($fnArray.\",\".[\/system script get $f name])}; :set fnArray [:toarray $fnArray]; :foreach f in=$fnArray do={:exec script=\":global \\\"$f\\\" [:parse [\/system script get $f source]]\"; \/log info (\"Defined function \".$f);};<\/code><\/pre>\n<p>   \u0412 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0440\u043e\u0443\u0442\u0435\u0440\u0430, \u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 $fnArray. \u0417\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f fnArray \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043f\u0440\u043e\u0431\u0435\u0433\u0430\u044f \u043f\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0446\u0438\u043a\u043b\u043e\u043c :foreach \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u041f\u043e\u0437\u0434\u043d\u0435\u0435, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 6.2, \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0431\u044b\u043b \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435. \u042f \u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0437\u0434\u0435\u0441\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e FuncPing, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0443\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0432 \u0441\u0435\u0442\u0438:<\/p>\n<pre><code class=\"lua\">#------ FuncPing-------# # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0441\u0435\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043c  \u043f\u0438\u043d\u0433\u0430 # \u0432 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 PingAdr \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043f\u0438\u043d\u0433\u0443\u0435\u043c\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441 # \u043f\u0440\u0438 \u044d\u0442\u043e\u043c IP-\u0430\u0434\u0440\u0435\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \"\u0447\u0438\u0441\u0442\u044b\u043c\" #  \u0438\u043b\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u0440\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435 (\u043f\u0440\u0438 \u043f\u0438\u043d\u0433\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u0442 \u043f\u043e\u0440\u0442) # # \u043e\u0442\u0432\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435: # \"done\" - \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 \u0441\u0435\u0442\u0438 # \"ERROR: device not responded\" - \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e  :global FuncPing do={ :local Hadr; :if ([:find $PingAdr \":\"]>0) do={:set Hadr [:pick $PingAdr 0 [:find $PingAdr \":\"]];} else={ :set Hadr $PingAdr} :local PingCount :if ([:typeof $Count]=\"nothing\") do={:set PingCount 3} else={:set PingCount $Count} :local Result [\/ping $Hadr count=$PingCount]; :local PingAnswer; :local MainIfInetOk false; :set MainIfInetOk ((3*$Result) >= (2 * $PingCount)) :put \"MainIfInetOk=$MainIfInetOk\" if (!$MainIfInetOk) do={:set PingAnswer \"ERROR: device not responded\"} if ($MainIfInetOk) do={:set PingAnswer \"done\"} :return $PingAnswer; }  :log info [$FuncPing PingAdr=\"192.168.0.7\" Count=5]<\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438 FuncPing, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0436\u0434\u0443 do={}.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0438 \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0430. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<p>  \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u0432\u0443\u0445 \u0442\u0438\u043f\u043e\u0432: \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0438 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0445 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435.<\/p>\n<p>  \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u0432\u044b\u0448\u0435, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432-\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 PingAdr, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043f\u0438\u043d\u0433\u0443\u0435\u043c\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0441\u0435\u0442\u0438, \u0438 Count, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u00ab\u043f\u0438\u043d\u0433\u043e\u0432\u00bb \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0438\u0445 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438). <br \/>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: <\/p>\n<pre><code class=\"lua\">:if ([:typeof $Count]=\"nothing\") do={:set PingCount 3} else={:set PingCount $Count}<\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 Count (\u0447\u0438\u0441\u043b\u043e \u043f\u0438\u043d\u0433\u043e\u0432). \u0415\u0441\u043b\u0438 $Count=\u00abnothing\u00bb (\u0442.\u0435. \u043d\u0435 \u0431\u044b\u043b \u0437\u0430\u0434\u0430\u043d), \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 $PingCount=3, \u0435\u0441\u043b\u0438 \u0436\u0435 $Count \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0442\u043e $PingCount \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 $Count.<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0441\u0435\u0442\u0438, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e FuncPing, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043a\u0430\u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c (\u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c) \u0435\u0451 \u0432 \u043a\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u0438\u043d\u0430\u0447\u0435 \u043e\u043d \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0435\u0451 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b \u00ab$\u00bb \u043f\u0435\u0440\u0435\u0434 \u0435\u0451 \u0438\u043c\u0435\u043d\u0435\u043c, \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438 (\u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e), \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438:<\/p>\n<pre><code class=\"lua\">:global FuncPing :local Result [$FuncPing PingAdr=\u00ab192.168.0.1\u00bb PingCount=5] :put $Result<\/code><\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c :return (\u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 :return $PingAnswer). \u0418\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043b\u044e\u0431\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0438\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u041f\u043e\u043a\u0430, \u0432\u0441\u0451 \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0435 \u0432\u044b\u0448\u0435, \u043e\u0431\u0449\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0438 \u043b\u0438\u0448\u044c \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u0442\u0430\u043b\u0438. \u041f\u043e\u0439\u0434\u0451\u043c \u0434\u0430\u043b\u044c\u0448\u0435 \u0432 \u043d\u0430\u0448\u0435\u043c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u00ab\u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f\u00bb \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u043d\u0438 \u0447\u0442\u043e \u0438\u043d\u043e\u0435 \u043a\u0430\u043a \u043c\u0430\u0441\u0441\u0438\u0432. \u0422\u0430\u043a\u0430\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0443\u0434\u043e\u0431\u043d\u0430 \u043a\u0430\u043a \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.<br \/>  \u042d\u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c. \u042f \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e \u044d\u0442\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c function knows its name (\u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u043d\u0430\u0435\u0442 \u0441\u0432\u043e\u0451 \u0438\u043c\u044f). <\/p>\n<p>  \u0417\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u0438 \u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0438\u043b\u0438 \u043d\u0435\u0442 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435, \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0438\u043b\u0438 \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0435), \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $0, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043e\u043d \u0441\u043b\u0443\u0436\u0438\u0442 \u043a\u0430\u043a \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a). <\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2013 \u044d\u0442\u043e \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043a\u0430\u043a \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 ($0), \u0442\u0430\u043a \u0438 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b (\u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0438\/\u0438\u043b\u0438 \u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u2013 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438).<\/p>\n<p>  \u00ab\u0423\u0437\u043d\u0430\u0442\u044c \u0441\u0432\u043e\u0451 \u0438\u043c\u044f\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c (\u0431\u0435\u0440\u0435\u043c $0 \u0438 \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u0443 \u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b, \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u00ab$\u00bb): <\/p>\n<pre><code class=\"lua\">:global FuncName do={:return [:pick $0 1 [:len $0]]} :log info [$FuncName]<\/code><\/pre>\n<p>  \u042d\u0442\u043e\u0442 \u0442\u0440\u044e\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0446\u0435\u043b\u0435\u0439: \u0434\u043b\u044f \u043f\u0435\u0447\u0430\u0442\u0438 \u0432 \u043b\u043e\u0433 \u0440\u043e\u0443\u0442\u0435\u0440\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432 \u043f\u043e\u0434\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044f \u0442\u0435\u043a\u0441\u0442 \u043d\u0430\u0434\u043f\u0438\u0441\u0435\u0439.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435, \u0442\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0441\u0442\u043e\u043b\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0441 \u043e\u0434\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u043c\u043d\u043e\u0439 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u043e\u043f\u044b\u0442\u0435. <\/p>\n<p>  \u0410 \u0438\u043c\u0435\u043d\u043d\u043e, \u043f\u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u043b\u044e\u0431\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u0432\u0430\u0436\u0434\u044b \u043f\u043e\u0434\u0440\u044f\u0434 \u0441 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0432\u044b\u0437\u043e\u0432\u0430 \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0440\u0438\u0436\u0434\u044b. \u0421 \u0447\u0435\u043c \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0442\u0430\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043c\u043d\u0435 \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441\u043b\u0443\u0436\u0431\u0435 \u0442\u0435\u0445\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u0437\u043d\u0430\u044e\u0442 \u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438, \u043d\u043e \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0441\u043f\u0435\u0448\u0430\u0442, \u0442\u0430\u043a \u0436\u0435 \u043f\u043e \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u0435\u0451 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c.<\/p>\n<p>  \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u043f\u0440\u043e\u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u00ab\u043e\u0448\u0438\u0431\u043a\u0443 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430\u00bb \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"lua\">[$FuncPing PingAdr=\u00ab192.168.0.1\u00bb PingCount=5] [$FuncPing PingAdr=\u00ab192.168.0.7\u00bb PingCount=2]<\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u043f\u043e\u0434\u0440\u044f\u0434 \u0434\u0432\u0430\u0436\u0434\u044b, \u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0442\u0440\u0438\u0436\u0434\u044b, \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0432\u044b\u0437\u043e\u0432. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0440\u0430\u0437\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043d\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f (\u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e). <\/p>\n<p>  \u0414\u043b\u044f \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u0432\u0430\u0436\u0434\u044b \u043f\u043e\u0434\u0440\u044f\u0434, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043b\u0438\u0431\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0435\u0437 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438: <\/p>\n<pre><code class=\"lua\"> $FuncPing PingAdr=\u00ab192.168.0.1\u00bb PingCount=5 $FuncPing PingAdr=\u00ab192.168.0.7\u00bb PingCount=2<\/code><\/pre>\n<p>  \u043b\u0438\u0431\u043e \u043a\u0430\u043a-\u0442\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u0439 \u0432\u044b\u0437\u043e\u0432 \u2026 \u043d\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?<\/p>\n<p>  \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u0439 \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 $0 (\u0438\u043c\u0435\u043d\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438). \u0414\u0430, \u0434\u0430 \u043f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 $0 \u043f\u0443\u0441\u0442. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u0445\u043e\u0432\u043a\u0443 \u043e\u0442 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u0442\u0430\u043a, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f:<\/p>\n<pre><code class=\"lua\">:global myFunc do={:log info \"Hello world !\"}<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0435\u0451 \u0434\u0432\u0430\u0436\u0434\u044b:<\/p>\n<pre><code class=\"lua\">[$myFunc]; [$myFunc]<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u043c\u044b \u0443\u0436\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0442\u0440\u0438\u0436\u0434\u044b.<\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u0432 $0 \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443:<\/p>\n<pre><code class=\"lua\">:global myFunc do={ :if ([$len $0]!=0) do={ :log info \"Hello world !\"} }<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 $0, \u0442\u043e \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u043c \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0442\u0435\u043b\u043e \u043a\u043e\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e (\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u043e). \u042d\u0442\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 :if ([$len $0]!=0) do={ }.<\/p>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043f\u043e\u043a\u0430 \u044d\u0442\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a. \u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043b\u0438\u0431\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438. \u042d\u0442\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u00ab\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>  \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445. \u041d\u0435 \u0441\u0435\u043a\u0440\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u0430\u043a \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0438\u0435 \u043a \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u042d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u043d\u0435 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u00ab\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u00bb \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0420\u043e\u0441 \u0432\u043d\u0435\u0441\u043b\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u043f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439.<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 do { \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 } on-error={ \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435 }. \u0412 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u00ab\u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u00bb \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0441\u0442\u044c \u0440\u0438\u0441\u043a \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 :fetch, :resolve \u0438 \u0442.\u043f\u2026 \u0412\u0441\u0451 \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0438 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0412\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u044f \u0442\u0430\u043a\u0436\u0435 \u0434\u0435\u043b\u0430\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a, \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u00ab\u0441\u0442\u0430\u0440\u0443\u044e\u00bb \u0441\u0432\u043e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e FuncMail, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0435\u0449\u0451 \u0432 2017 \u0433\u043e\u0434\u0443, \u0438 \u0441\u043b\u0443\u0436\u0430\u0449\u0443\u044e \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0430 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430: Mailtext (\u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f) \u0438 Email (\u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f):<\/p>\n<pre><code class=\"lua\">#------------- FuncMail-----------------# # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u0447\u0442\u044b  #    by Sergej Serkov 24.12.17 #---------------------------------------#  # \u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435:  # [$FuncMail Email=\"user@mail.ru\" Mailtext=\"test letter\"]  # \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 Mailtext \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 # \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u043e\u0447\u0442\u044b \u0438\u0434\u0435\u0442 \u043d\u0430 \u044f\u0449\u0438\u043a, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 Email # \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 Router OS \/tool email \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0432\u0435\u0440\u043d\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e  :global FuncMail do={ :local smtpserv [:resolve [\/tool e-mail get address]]; :local Eaccount [\/tool e-mail get user]; :local pass [\/tool e-mail get password]; :local Eport [\/tool e-mail get port]; :local Etls \"yes\"; # \u0435\u0441\u043b\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \"no\" :if (([:len $Email]!=0) and ([:len $Mailtext]!=0)) do={ :log info \" \"; :log warning \"FuncMail start mail sending ... to e-mail: $Email\"; do {[\/tool e-mail send from=\"&lt;$Eaccount>\" to=$Email server=$smtpserv \\  port=$Eport user=$Eaccount password=$pass start-tls=$Etls subject=(\"from FuncMail Router $[\/system identity get name]\") \\  body=$Mailtext;];               } on-error={:log info \"\"; :log error (\"Call ERROR function $0 ERROR e-mail send\");                                                                                        :return \"ERROR: &lt;$0 e-mail send>\"} :log warning \"Mail send\"; :log info \" \"; :return \"OK: &lt;mail send>\" } else={:log error (\"Call ERROR function $0 Email or Mailtext parametrs no defined\"); :return (\"ERROR: $0 &lt; necessary parameters are not set >\")} }  :log info [$FuncMail Mailtext=\"\u041f\u0440\u0438\u0432\u0435\u0442 !\" Email=\"user@mail.ru\"]<\/code><\/pre>\n<p>  \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0441\u0434\u0435\u043b\u0430\u043d\u0430 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u0447\u0442\u044b \/tool e-mail send, \u043d\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u0430 \u0434\u043b\u044f :resolve smtp \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430). \u0422\u0430\u043a\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432: <\/p>\n<pre><code class=\"lua\">:if  (([:len $Email]!=0) and ([:len $Mailtext!]=0)) do={} else={:log error (\"Call ERROR function $0 Email or Mailtext parametrs no defined\"); :return (\"ERROR: $0 &lt; necessary parameters are not set >\")}<\/code><\/pre>\n<p>  \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0443\u0436\u0435\u043d, \u043e\u0434\u043d\u0430\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0435\u043c \u0438 \u0445\u043e\u0440\u043e\u0448\u0438, \u0447\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u00ab\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435\u00bb (\u0431\u0443\u043b\u0435\u0432\u044b\u0435) \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u00abthrue\u00bb \u0438 \u00abfalse\u00bb, \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 (\u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0451 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 :return.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"lua\">:global cuDte do={:return ([\/system clock get date].\" \".[\/system clock get time]);} :log info [$cuDte]<\/code><\/pre>\n<p>   \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0438\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0434\u0430\u0442\u0443 \u0438 \u0432\u0440\u0435\u043c\u044f \u0432 \u0432\u0438\u0434\u0435 \u0435\u0434\u0438\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438. \u0410 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 (\u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0430\u0442\u0430, \u0432\u0442\u043e\u0440\u043e\u0439 \u2013 \u0432\u0440\u0435\u043c\u044f)<\/p>\n<pre><code class=\"lua\">:global cuDte do={:return [:toarray {[\/system clock get date]; [\/system clock get time]}] } :local DateTime [$cuDte] :log info $DateTime :log info [:typeof $DateTime]<\/code><\/pre>\n<p>  \u041f\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 (\u043d\u0443\u0436\u043d\u044b\u0439) \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0440\u0430\u0432\u0435\u043d 0, \u0432\u0442\u043e\u0440\u043e\u0433\u043e 1 \u0438 \u0442.\u0434\u2026<\/p>\n<pre><code class=\"lua\">:log info ($DateTime->0) :log info ($DateTime->1)<\/code><\/pre>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 \u0438\u043c\u044f (\u043a\u043b\u044e\u0447), \u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u0434\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442\u043f\u0430\u0434\u0430\u0435\u0442 \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c. \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438\u0437 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (\u043b\u0438\u0431\u043e \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u044b). \u0424\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0438\u0437 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435\u043c \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 :set.<\/p>\n<pre><code class=\"lua\">:set cuDte<\/code><\/pre>\n<p>  \u0438\u043b\u0438  <\/p>\n<pre><code class=\"lua\">:set \u0441uDte (:nothing);<\/code><\/pre>\n<p>  \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u0437 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"lua\">\/system script environment remove [find name=\"cuDte\"]<\/code><\/pre>\n<p>  \u041e\u0431\u043d\u0443\u043b\u0438\u0442\u044c (\u043e\u0447\u0438c\u0442\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435), \u043a\u0430\u043a \u0443\u0436\u0435 \u044f\u0441\u043d\u043e \u0438\u0437 \u0432\u044b\u0448\u0435\u0438\u0437\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435\u043c \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0442\u0430\u043a:<\/p>\n<pre><code class=\"lua\">:global cuDte []<\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u043f\u043e\u043c\u043d\u044e \u0432\u0430\u0436\u043d\u0443\u044e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044e \u0438\u0437 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Wiki \u043f\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043c\u0435\u0442\u044c \u0432\u0432\u0438\u0434\u0443:<\/p>\n<p>  \u00ab\u0415\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u043c \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0438\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u0442\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438. \u042d\u0442\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430 \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441 \u0442\u0435\u043c\u0438 \u0436\u0435 \u0438\u043c\u0435\u043d\u0430\u043c\u0438, \u0447\u0442\u043e \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435.\u00bb<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"lua\">        :global my2 \"123\"         :global myFunc do={ :global my2; :put $my2; :set my2 \"lala\"; :put $my2 }         $myFunc my2=1234         :put \u00abglobal value $my2\u00bb<\/code><\/pre>\n<p>   \u0412\u044b\u0432\u043e\u0434:<br \/>   1234<br \/>   lala<br \/>   global value 123<\/p>\n<p>  \u041b\u044e\u0431\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043a\u043e\u0434\u0435 \u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0445 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 (\u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 Wiki):<\/p>\n<pre><code class=\"lua\">         :global funcA do={ :return 5 }         :global funcB do={            :global funcA;           :return ([$funcA] + 4)         }         :put [$funcB]<\/code><\/pre>\n<p>   \u0412\u044b\u0432\u043e\u0434:<br \/>   9<\/p>\n<p>  \u0412 \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0443 \u0441\u0435\u0431\u044f! \u042d\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u0442\u0443 \u0438\u043b\u0438 \u0438\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0420\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u0446\u0438\u043a\u043b\u044b \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0439\u0442\u0438\u0441\u044c \u043f\u043e \u043d\u0438\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0446\u0438\u043a\u043b\u043e\u0432 \u044f\u0437\u044b\u043a\u0430, \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 :for, :foreach \u0438\u043b\u0438 :while. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438 \u0432 \u0442\u0435\u043b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u0430 \u0441\u0435\u0431\u044f.<\/p>\n<p>  \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<pre><code class=\"lua\">:global CountDown do={ :global CountDown; :if ($1>0) do={:log warning $1; :set $1 ($1-1);[$CountDown $1];} :return \"end\" }  :log info [$CountDown 5] <\/code><\/pre>\n<p>   \u0412\u044b\u0432\u043e\u0434:<\/p>\n<p>  5<br \/>  4 <br \/>  3<br \/>  2<br \/>  1<br \/>  end<\/p>\n<p>  \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u043c\u044b \u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 (:log info [$CountDown 5]), \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u043d\u0430 \u0441\u0430\u043c\u0430 \u0441\u0435\u0431\u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044e (6 \u0440\u0430\u0437).<\/p>\n<p>  \u041f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0446\u0438\u043a\u043b\u043e\u0432, \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u2013 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442. \u0421 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b\u043c\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0438, \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u044b\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u044b (\u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0430, \u043a\u0430\u043a \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \/system reboot).<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/github.com\/Winand\/mikrotik-json-parser\" rel=\"nofollow noopener noreferrer\">\u0437\u0434\u0435\u0441\u044c<\/a>. <\/p>\n<p>  \u0410\u0432\u0442\u043e\u0440\u043e\u043c \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0432\u0435\u043b\u0438\u043a\u043e\u043b\u0435\u043f\u043d\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0444\u043e\u0440\u043c\u0430\u0442\u0430 JSON \u0432 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u044b\u0439 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432. \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 $fJParsePrint, \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u043f\u0430\u0440\u0441\u0435\u0440\u0430, \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u0432 \u043a\u043e\u0434\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442-\u043f\u043e\u0434\u043c\u0430\u0441\u0441\u0438\u0432, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0445\u043e\u0434 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u0440\u0435\u0432\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 $JParseOut (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 <a href=\"https:\/\/habr.com\/ru\/post\/337978\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>). <\/p>\n<p>  \u0412 \u0442\u043e\u0439 \u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 :any, \u044e\u0432\u0435\u043b\u0438\u0440\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u043f\u0430\u0440\u0441\u0435\u0440\u0430 \u0434\u043b\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435, \u0447\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u0440\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0435\u0451 \u00ab\u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0441\u0442\u044c\u00bb \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 :any. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f (\u043e\u043d\u0430 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f) \u043f\u0443\u0441\u0442\u0430 \u2013 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0435\u0451 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 (\u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u043e\u043c), \u0435\u0441\u043b\u0438 \u0436\u0435 \u043d\u0435 \u043f\u0443\u0441\u0442\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u043d\u0430 \u0443\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u0434 \u0438 \u0435\u0451 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439, \u043d\u043e \u043c\u043e\u0449\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b :any, \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e fByteToEscapeChar, \u00ab\u043d\u0430\u043b\u0435\u0442\u0443\u00bb \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $1 (\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0447\u0438\u0441\u043b\u043e) \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b, \u0442.\u0435. \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 ASCII \u0432 \u0441\u0438\u043c\u0432\u043e\u043b.<\/p>\n<pre><code class=\"lua\">:global fByteToEscapeChar :if (!any $fByteToEscapeChar) do={ :global fByteToEscapeChar do={   :return [[:parse \"(\\\"\\\\$[:pick \"0123456789ABCDEF\" (($1 >> 4) &amp; 0xF)]$[:pick \"0123456789ABCDEF\" ($1 &amp; 0xF)]\\\")\"]] }}<\/code><\/pre>\n<p>  \u041e\u0442 \u0441\u0435\u0431\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u044e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u043d\u0430\u0445\u043e\u0434\u043a\u0443. \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u043a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 $0, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0432\u043e\u0442 \u0447\u0442\u043e:<\/p>\n<pre><code class=\"lua\">:global myFunc do={:log info $0; log info [:typeof $0]} $myFunc<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434:<br \/>  $myFunc<br \/>  lookup<\/p>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $0 (\u0442\u043e\u0442, \u0447\u0442\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u0430\u043a \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438 \u0432\u044b\u0448\u0435) \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u043a\u0438\u0439 \u0442\u0438\u043f \u00ablookup\u00bb, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u0442 \u043d\u0438 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u0420\u043e\u0441 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a! \u0417\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u044d\u0442\u043e \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c (\u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u043e \u0434\u0430\u043b\u0435\u0435).<\/p>\n<p>  \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 \u0432 \u0442\u0435\u043c\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0441 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u0414\u0430, \u0434\u0430, \u0442\u0430\u043a\u043e\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e! \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0440\u0430\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430?<br \/>  \u041d\u0435 \u0441\u043a\u0440\u043e\u044e, \u0434\u0430\u043d\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u043d\u0435 \u043c\u043e\u044f \u0438 \u0431\u044b\u043b\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043f\u043e\u0447\u0435\u0440\u043f\u043d\u0443\u0442\u0430 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0442\u043e\u043f\u0438\u043a\u043e\u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u0443\u043c\u0430 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a <a href=\"https:\/\/forum.mikrotik.com\/viewtopic.php?t=181142\" rel=\"nofollow noopener noreferrer\">\u0437\u0434\u0435\u0441\u044c<\/a>.<br \/>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u044d\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u043c\u0435 (\u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u044f \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0438\u0441\u043a\u0430\u043b).<\/p>\n<p>  \u041f\u0435\u0440\u0435\u0441\u043a\u0430\u0436\u0443 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0442\u043e\u043f\u0438\u043a\u0430 \u0430\u0432\u0442\u043e\u0440\u0430 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u043c\u0438 \u043d\u0438\u0436\u0435:<br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0438\u043b\u0438 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 (\u044d\u0442\u043e \u043c\u044b \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u043c). \u041f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441 $1 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u043e\u043d\u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043a\u0430\u043a \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f (\u0438\u043b\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f) \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0412\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e (\u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438).<\/p>\n<p>  \u041c\u044b \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f knows its name (\u0437\u043d\u0430\u0435\u0442 \u0441\u0432\u043e\u0451 \u0438\u043c\u044f). \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0438\u0436\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u043a \u0438\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $1 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"lua\">:global hello :set hello do={:log info (\"$[pick $0 1 [:len $0]]\". \" $1\")} $hello world<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434: <br \/>  hello world<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0443\u0441\u0442\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432:<\/p>\n<pre><code class=\"lua\">:global fnArray [:toarray \"\"]<\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c, \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438, \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c:<\/p>\n<pre><code class=\"lua\">:global fnArray [toarray \"\"] :set ($fnArray->\"hello\") do={:log info \"hello $1 \"} :set ($fnArray->\"good by\") do={:log info \"good by $1 \"}<\/code><\/pre>\n<p>  \u0412\u044b\u0437\u043e\u0432\u0435\u043c \u043f\u0435\u0440\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e:<\/p>\n<pre><code class=\"lua\">[($fnArray->\"hello\") world]<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434: <br \/>  hello<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 hello world, \u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 hello. \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442?<br \/>  \u0412\u0441\u0451 \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 world, \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $1, \u0430 \u043a\u0430\u043a \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u2014 $0, \u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $1 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043c\u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d.<\/p>\n<p>  \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"lua\">:set ($fnArray->\"hello\") do={:log info \"hello $0 \"} [($fnArray->\"hello\") world]<\/code><\/pre>\n<p>  \u0422\u043e\u0433\u0434\u0430 world \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f $0 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442:<\/p>\n<p>  hello world<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0446\u0438\u0442\u0438\u0440\u0443\u044e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a:<br \/>  \u00ab \u2026 \u0421 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0442\u043e, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b $2 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\u044e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u0440\u0430\u0432\u043d\u043e $1, \u043a\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435. \u041f\u043e \u0441\u0443\u0442\u0438, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 $0 \u0438\u043b\u0438 $1, \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0433\u0434\u0435 \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f. \u0414\u0430\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443, \u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043a\u043b\u044e\u0447=\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432\u0435\u0437\u0434\u0435, \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e.<\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0430, \u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u043d\u043a\u0430\u044f. \u041d\u043e \u044f \u0432\u0438\u0436\u0443 \u043b\u043e\u0433\u0438\u043a\u0443: \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u2014 \u044d\u0442\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u044b CS, \u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 (\u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043c\u0435\u044e\u0442 \u0438\u043c\u044f, \u0438\u043c\u044f \u2014 \u044d\u0442\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u0435\u043d $0, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0435\u0433\u043e \u0438\u043c\u044f, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u043e\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f\u2026<\/p>\n<p>  \u2026 \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 $0, \u043a\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435.<\/p>\n<p>  \u0412 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u0437\u043e\u0440\u0430 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043e\u043d\u0443\u0441\u0430, \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0441\u0432\u043e\u044e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432, FuncAS (Function Active Sender), \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440 \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c, \u0432 \u0432\u0438\u0434\u0435 SMS \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043c \u0440\u043e\u0443\u0442\u0435\u0440\u0430, SMS \u0447\u0435\u0440\u0435\u0437 API \u0441\u0435\u0440\u0432\u0438\u0441\u0430 sms.ru, SMS \u0447\u0435\u0440\u0435\u0437 \u0448\u043b\u044e\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 Laurent5G, Netping \u0438 \u043d\u0430 \u043f\u043e\u0447\u0442\u0443.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f FuncAS \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0438\u043c\u0435\u044e\u0449\u0438\u0439 \u0434\u0435\u0432\u044f\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432: $0, translite, telegram, sms, smsAPI, smsLT, smsNP, email, all. \u042d\u043b\u0435\u043c\u0435\u043d\u0442 all \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0432\u044b\u0437\u043e\u0432 \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0432\u0441\u0435 \u00ab\u043f\u0443\u043d\u043a\u0442\u044b \u043f\u0440\u0438\u0435\u043c\u0430\u00bb. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439, \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0430\u0441\u044c \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u0430\u043a \u043c\u0430\u0441\u0441\u0438\u0432. \u0415\u0441\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043d\u0435 \u043e\u0434\u0438\u043d \u0438\u0437 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0442\u0430\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0430 \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u00ab\u0446\u0435\u043b\u0438\u043a\u043e\u043c\u00bb (\u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0435\u0439) \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430-\u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u042d\u0442\u043e\u0439 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u044f \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0432 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441 \u043a\u043b\u044e\u0447\u043e\u043c \u00aball\u00bb. \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u0447\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00abtranslate\u00bb \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438, \u043a\u0430\u043a \u0434\u0440\u0443\u0433\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0438\u0437 \u043d\u0438\u0445 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043a\u0430\u043a \u043f\u043e\u0434\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430.<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0438\/\u0438\u043b\u0438 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0441 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u00abtranslite\u00bb \u0438, \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u0438\u043d\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446. \u0441\u0438\u043c\u0432\u043e\u043b\u044b \\$@!#%'()*+,-.\/:;&lt;=>?[]^_`{|}~ \u0414\u043b\u044f \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c, API sms.ru \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 (\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u0434\u043b\u044f mail.ru, yandex.ru \u0438 gmail.com) \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e (\u0440\u0443\u0441\u0441\u043a\u043e\u0433\u043e) \u0442\u0435\u043a\u0441\u0442\u0430. \u0414\u043b\u044f \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 $1=\u00abtranslite\u00bb) \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 SMS \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043c\u044b, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0440\u0443\u0441\u0441\u043a\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u0435. \u0412 \u0440\u0430\u0431\u043e\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043c\u043d\u043e\u0439 \u0440\u0430\u043d\u0435\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u044b \u0441\u0442\u0440\u043e\u043a\u0438 (\u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0425\u0430\u0431\u0440\u0430 <a href=\"https:\/\/habr.com\/ru\/post\/518534\">habr.com\/ru\/post\/518534<\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/post\/519406\">habr.com\/ru\/post\/519406<\/a>). <br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043c, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u043a \u0440\u043e\u0443\u0442\u0435\u0440\u0443 (usb \u0438\u043b\u0438 pci-e), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 \u043c\u043d\u043e\u0433\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439 <a href=\"https:\/\/kernelchip.ru\" rel=\"nofollow noopener noreferrer\">KernelChip<\/a> (Laurent-5G) \u0438 <a href=\"https:\/\/netping.ru\" rel=\"nofollow noopener noreferrer\">\u0410\u043b\u0435\u043d\u0442\u0438\u0441-\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0441<\/a> (\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Netping, \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u043c\u043e\u0434\u0435\u043c).<br \/>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \/tool sms \u0438 \/tool e-mail. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 \u00abtelegram\u00bb \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b global Emoji (Emoji \u0440\u043e\u0443\u0442\u0435\u0440\u0430, \u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044e), \u0437\u0430\u0434\u0430\u043d\u044b ID \u0412\u0430\u0448\u0435\u0433\u043e \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u0431\u043e\u0442\u0430 \u0438 \u0447\u0430\u0442\u0430 (\u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 botID \u0438 myChatID). \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 <a href=\"http:\/\/sms.ru\" rel=\"nofollow noopener noreferrer\">sms.ru<\/a> (\u043a\u043b\u044e\u0447 \u00absmsAPI\u00bb) \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 global apikey (\u043a\u043b\u044e\u0447 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 sms.ru). \u041f\u0440\u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044f Laurent-5G (\u043a\u043b\u044e\u0447 smsLT) \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 Ladr (\u0430\u0434\u0440\u0435\u0441 Laurent-5G \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438) \u0438 Lpassword (\u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 http get-\u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u043a \u043c\u043e\u0434\u0443\u043b\u044e). \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 \u00absmsNP\u00bb \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b global NPadr (\u0430\u0434\u0440\u0435\u0441 \u0448\u043b\u044e\u0437\u0430 Netping \u0432 \u0441\u0435\u0442\u0438), NPuser (login), NPpass (\u043f\u0430\u0440\u043e\u043b\u044c) \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<p>  \u0412\u044b\u0431\u043e\u0440 \u043d\u043e\u043c\u0435\u0440\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u043f\u0440\u0438 \u0432\u0441\u0435\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u043e\u0442\u043f\u0440\u0430\u0432\u043e\u043a sms \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 $1 (\u0438\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438) -> $ADMINPHONE (global var) -> first [\/tool sms get allowed-number] \u043f\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u00ab\u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d, \u0442\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439\u00bb. \u0414\u043b\u044f smsLT \u0432\u043c\u0435\u0441\u0442\u043e $ADMINPHONE \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0445 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u043c\u043e\u0434\u0443\u043b\u044f. \u041d\u043e\u043c\u0435\u0440\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043e\u0432 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 (+7\u0434\u0435\u0441\u044f\u0442\u0438\u0437\u043d\u0430\u0447\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440), \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 sms \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0420\u043e\u0441\u0441\u0438\u0438 (+7). \u0412\u044b\u0431\u043e\u0440 \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 e-mail \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 $1 -> $ADMINMAIL (global var).<\/p>\n<p>  \u0415\u0449\u0451 \u0440\u0430\u0437 \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 $0 \u0445\u0440\u0430\u043d\u044f\u0442 \u0441\u0432\u043e\u0451 \u0438\u043c\u044f, \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 $0, \u0432\u0442\u043e\u0440\u043e\u0439 $1 \u0438 \u0442.\u0434&#8230;., \u0447\u0442\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u0434\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430, \u0432 \u0432\u0438\u0434\u0435 [$FuncAS \u00abyou mesage\u00bb] \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0440\u0430\u0432\u043d\u043e\u0446\u0435\u043d\u0435\u043d \u0437\u0430\u043f\u0438\u0441\u0438 [($FuncAS->\u00aball\u00bb) \u00abyou mesage\u00bb].<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 FuncAS \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"lua\">#-------------------------------------------------------------------------------------------- # FuncAS version 1.4 by Sertik (Serkov S.V.) 09\/01\/2022 #--------------------------------------------------------------------------------------------  # \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0438\/\u0438\u043b\u0438 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 \"translite\" \u0438 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u0438\u043d\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f # \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043f\u0435\u0446. \u0441\u0438\u043c\u0432\u043e\u043b\u044b \\$@!#%'()*+,-.\/:;&lt;=>?[]^_`{|}~ (\u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043e\u043a) ; # Usage: [($FuncAS->\"telegram\") \"you mesage\"] #                [($FuncAS->\"sms\") \"you mesage\" \"phone number\"] #                [($FuncAS->\"sms\") \"you mesage\" (phone number get from ADMINPHONE or first [\/tool sms get allowed-number]; #                [($FuncAS->\"smsAPI\") \"you mesage\" \"phonenumber\"] #                [($FuncAS->\"smsAPI\") \"you mesage\" (phone number get from ADMINPHONE or or first [\/tool sms get allowed-number]; #                [($FuncAS->\"smsNP\") (\"\u043f\u0440\u0438\u0432\u0435\u0442 text H\".\"\\\\\".\"\\$\".\" @!#%'()*+,-.\/:;&lt;=>?[]^_`{|}~\") \"+79104797703\"] #                [($FuncAS->\"smsLT\") (\"good by world\") 2] #                [($FuncAS->\"email\") \"you mesage\" \"e-mail\"] #                [($FuncAS->\"email\") \"you mesage\"] (e-mail get from $ADMINMAIL) #                [($FuncAS->\"all\") \"you mesage\"]  (e-mail get from $ADMINMAIL) #                [$FuncAS \"you mesage\"] = [($FuncAS->\"all\") \"you mesage\"]   (execute last key)  # see also the examples at the end of the function code !  # defining global users variables:  :global Emoji;                         # :global Emoji \"%E2%9B%BA\" :global botID;                        # :global botID \"botXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"; :global myChatID;                 #:global myChatID \"XXXXXXXXX\"; :global ADMINPHONE;        #:global ADMINPHONE \"+7910777777\" :global ADMINMAIL;            # :global ADMINMAIL user@mail.ru :global Ladr;                          # :global Ladr 192.168.0.10 :global Lpass;                       # :global Lpass Laurent5G password :global NPadr;                      # :global NPadr 192.168.0.10:8080 :global NPuser;                    # :global NPuser Sertik :global NPpass;                   # :global NPpass NPpassword :global apikey;                     # :global apikey \u0425\u0425\u0425\u0425\u0425\u0425\u0425\u0425-\u0425\u0425\u0425\u0425-\u0425\u0425\u0425\u0425-\u0425\u0425\u0425\u0425-\u0425\u0425\u0425\u0425\u0425\u0425\u0425\u0425\u0425\u0425\u0425\u0425   :global FuncAS [:toarray \"\"]   # function transliteration # string for transliteration is set in the parametr name \"string\"  :set ($FuncAS->\"translite\") do={  #  table of the codes of Russian letters translite :local rsimv [:toarray {\"\u0410\"=\"A\"; \"\u0411\"=\"B\"; \"\u0412\"=\"V\"; \"\u0413\"=\"G\"; \"\u0414\"=\"D\"; \"\u0415\"=\"E\"; \"\u0416\"=\"ZH\"; \"\u0417\"=\"Z\"; \"\u0418\"=\"I\"; \"\u0419\"=\"J\"; \"\u041a\"=\"K\"; \"\u041b\"=\"L\"; \"\u041c\"=\"M\"; \"\u041d\"=\"N\"; \"\u041e\"=\"O\"; \"\u041f\"=\"P\"; \"\u0420\"=\"R\"; \"\u0421\"=\"S\"; \"\u0422\"=\"T\"; \"\u0423\"=\"U\"; \"\u0424\"=\"F\"; \"\u0425\"=\"KH\"; \"\u0426\"=\"C\"; \"\u0427\"=\"CH\"; \"\u0428\"=\"SH\"; \"\u0429\"=\"SCH\"; \"\u042a\"=\"``\"; \"\u042b\"=\"Y`\"; \"\u042c\"=\"`\"; \"\u042d\"=\"E`\"; \"\u042e\"=\"JU\"; \"\u042f\"=\"YA\"; \"\u0430\"=\"a\"; \"\u0431\"=\"b\"; \"\u0432\"=\"v\"; \"\u0433\"=\"g\"; \"\u0434\"=\"d\"; \"\u0435\"=\"e\"; \"\u0436\"=\"zh\"; \"\u0437\"=\"z\"; \"\u0438\"=\"i\"; \"\u0439\"=\"j\"; \"\u043a\"=\"k\"; \"\u043b\"=\"l\"; \"\u043c\"=\"m\"; \"\u043d\"=\"n\"; \"\u043e\"=\"o\"; \"\u043f\"=\"p\"; \"\u0440\"=\"r\"; \"\u0441\"=\"s\"; \"\u0442\"=\"t\"; \"\u0443\"=\"u\"; \"\u0444\"=\"f\"; \"\u0445\"=\"kh\"; \"\u0446\"=\"c\"; \"\u0447\"=\"ch\"; \"\u0448\"=\"sh\"; \"\u0449\"=\"sch\"; \"\u044a\"=\"``\"; \"\u044b\"=\"y`\"; \"\u044c\"=\"`\"; \"\u044d\"=\"e`\"; \"\u044e\"=\"ju\"; \"\u044f\"=\"ya\"; \"\u0401\"=\"Yo\"; \"\u0451\"=\"yo\"; \"\u2116\"=\"#\"}]  # encoding of the symbols and \u0430ssembly line :local StrTele \"\"; :local code \"\"; :for i from=0 to=([:len $string]-1) do={:local keys [:pick $string $i (1+$i)];  :local key ($rsimv->$keys); if ([:len $key]!=0) do={:set $code ($rsimv->$keys);} else={:set $code $keys};  :if (($keys=\"\u042c\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0415\")) do={:set $code \"I\"; :set $i ($i+1)} :if (($keys=\"\u044c\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0435\")) do={:set $code \"i\"; :set $i ($i+1)} :if (($keys=\"\u042c\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0435\")) do={:set $code \"I\"; :set $i ($i+1)} :if (($keys=\"\u044c\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0415\")) do={:set $code \"i\"; :set $i ($i+1)} :if (($keys=\"\u042b\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0419\")) do={:set $code \"I\"; :set $i ($i+1)} :if (($keys=\"\u044b\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0439\")) do={:set $code \"i\"; :set $i ($i+1)} :if (($keys=\"\u044b\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0419\")) do={:set $code \"i\"; :set $i ($i+1)} :if (($keys=\"\u042b\")  and ([:pick $string ($i+1) (2+$i)]=\"\u0439\")) do={:set $code \"I\"; :set $i ($i+1)}  :set $StrTele (\"$StrTele\".\"$code\")} :return $StrTele }   # part to Telegram :set ($FuncAS->\"telegram\") do={          :if ([:len $0]!=0) do={          :global Emoji          :global botID;          :global myChatID;          :if (([:len $botID]=0) or ([:len $myChatID]=0)) do={:log error \"ERROR FuncAs telegram chatbotID not found\"; :return \"ERROR telegram\"}  :if ((any $1) &amp;&amp; ($1=\"translite\")) do={ :global FuncAS :set $0 [($FuncAS->\"translite\") string=$0] }   # bypassing the transmission of special characters and symbol \"H\"         :local output $0         :local cp1251 [:toarray {\"\\20\";\"\\01\";\"\\02\";\"\\03\";\"\\04\";\"\\05\";\"\\06\";\"\\07\";\"\\08\";\"\\09\";\"\\0A\";\"\\0B\";\"\\0C\";\"\\0D\";\"\\0E\";\"\\0F\"; \\                                  \"\\10\";\"\\11\";\"\\12\";\"\\13\";\"\\14\";\"\\15\";\"\\16\";\"\\17\";\"\\18\";\"\\19\";\"\\1A\";\"\\1B\";\"\\1C\";\"\\1D\";\"\\1E\";\"\\1F\"; \\                                  \"\\21\";\"\\22\";\"\\23\";\"\\24\";\"\\25\";\"\\26\";\"\\27\";\"\\28\";\"\\29\";\"\\2A\";\"\\2B\";\"\\2C\";\"\\2D\";\"\\2E\";\"\\2F\";\"\\3A\"; \\                                  \"\\3B\";\"\\3C\";\"\\3D\";\"\\3E\";\"\\3F\";\"\\40\";\"\\5B\";\"\\5C\";\"\\5D\";\"\\5E\";\"\\5F\";\"\\60\";\"\\7B\";\"\\7C\";\"\\7D\";\"\\7E\"; \\                                  \"\\C0\";\"\\C1\";\"\\C2\";\"\\C3\";\"\\C4\";\"\\C5\";\"\\C7\";\"\\C7\";\"\\C8\";\"\\C9\";\"\\CA\";\"\\CB\";\"\\CC\";\"\\CD\";\"\\CE\";\"\\CF\"; \\                                  \"\\D0\";\"\\D1\";\"\\D2\";\"\\D3\";\"\\D4\";\"\\D5\";\"\\D6\";\"\\D7\";\"\\D8\";\"\\D9\";\"\\DA\";\"\\DB\";\"\\DC\";\"\\DD\";\"\\DE\";\"\\DF\"; \\                                  \"\\E0\";\"\\E1\";\"\\E2\";\"\\E3\";\"\\E4\";\"\\E5\";\"\\E6\";\"\\E7\";\"\\E8\";\"\\E9\";\"\\EA\";\"\\EB\";\"\\EC\";\"\\ED\";\"\\EE\";\"\\EF\"; \\                                  \"\\F0\";\"\\F1\";\"\\F2\";\"\\F3\";\"\\F4\";\"\\F5\";\"\\F6\";\"\\F7\";\"\\F8\";\"\\F9\";\"\\FA\";\"\\FB\";\"\\FC\";\"\\FD\";\"\\FE\";\"\\FF\"; \\                                  \"\\A8\";\"\\B8\";\"\\B9\";\"\\48\"}];         :local utf8   [:toarray {\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"000A\";\"0020\";\"0020\";\"000D\";\"0020\";\"0020\"; \\                             \"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\";\"0020\"; \\          \"0021\";\"0022\";\"0023\";\"0024\";\"0025\";\"0026\";\"0027\";\"0028\";\"0029\";\"002A\";\"002B\";\"002C\";\"002D\";\"002E\";\"002F\";\"003A\"; \\                  \"003B\";\"003C\";\"003D\";\"003E\";\"003F\";\"0040\";\"005B\";\"005C\";\"005D\";\"005E\";\"005F\";\"0060\";\"007B\";\"007C\";\"007D\";\"007E\"; \\                     \"D090\";\"D091\";\"D092\";\"D093\";\"D094\";\"D095\";\"D096\";\"D097\";\"D098\";\"D099\";\"D09A\";\"D09B\";\"D09C\";\"D09D\";\"D09E\";\"D09F\"; \\                 \"D0A0\";\"D0A1\";\"D0A2\";\"D0A3\";\"D0A4\";\"D0A5\";\"D0A6\";\"D0A7\";\"D0A8\";\"D0A9\";\"D0AA\";\"D0AB\";\"D0AC\";\"D0AD\";\"D0AE\";\"D0AF\"; \\                  \"D0B0\";\"D0B1\";\"D0B2\";\"D0B3\";\"D0B4\";\"D0B5\";\"D0B6\";\"D0B7\";\"D0B8\";\"D0B9\";\"D0BA\";\"D0BB\";\"D0BC\";\"D0BD\";\"D0BE\";\"D0BF\"; \\                          \"D180\";\"D181\";\"D182\";\"D183\";\"D184\";\"D185\";\"D186\";\"D187\";\"D188\";\"D189\";\"D18A\";\"D18B\";\"D18C\";\"D18D\";\"D18E\";\"D18F\"; \\ \"D001\";\"D191\";\"2116\";\"0048\"}];          :local convStr \"\"; :local code    \"\";         :for i from=0 to=([:len $output]-1) do={             :local symb [:pick $output $i ($i+1)];              :local idx  [:find $cp1251 $symb];             :local key  ($utf8->$idx);             :if ([:len $key] != 0) do={                 :set $code (\"%$[:pick ($key) 0 2]%$[:pick ($key) 2 4]\");                 :if ([pick $code 0 3] = \"%00\") do={ :set $code ([:pick $code 3 6]); }             } else={ :set code ($symb); };              :set $convStr ($convStr.$code);         }           :set $0 $convStr          :log info \"\"; :log warning \"FuncAs start telegram sending ...\";               :do {                  [\/tool fetch url=\"https:\/\/api.telegram.org\/$botID\/sendmessage\\?chat_id=$myChatID&amp;text=$Emoji $0\" keep-result=no;]                 } on-error={:log error \"ERROR FuncAs telegram send\"; :return \"ERROR telegram\"}           :log warning \"FuncAs message to telegram send\"; :log info \"\";           :return \"done telegram\"     } else={:log error \"ERROR FuncAs telegram send but no message text\"; :return \"ERROR telegram\" } }  # part to sms from modem router`s :set ($FuncAS->\"sms\") do={          :if ([:len $0]!=0) do={          :local SMSdevice [\/tool sms get port];          :local NumPhone          :global ADMINPHONE;          :if ([:len $1]!=0) do={:set NumPhone $1} \\               else={                      :if ([:len $ADMINPHONE]!=0) do={:set NumPhone $ADMINPHONE} \\                             else={                                 :local NumSMS [\/tool sms get allowed-number];                                      :if ([:len $NumSMS]!=0) do={:set NumPhone ($NumSMS->0)} \\                                              else={:log error \"ERROR FuncAs sms phone number not found\"; :return \"ERROR sms\"} }}  # must be performed translite :global FuncAS :set $0 [($FuncAS->\"translite\") string=$0]            :log info \"\"; :log warning \"FuncAS start sms sending to $NumPhone\";              :do {                 [\/tool sms send  $SMSdevice phone=$NumPhone message=$0];                 } on-error={:log error \"ERROR FuncAs sms send\"; :return \"ERROR sms\"}           :log warning \"FuncAs sms sent via modem\"; :log info \"\";           :return \"done sms\"     } else={:log error \"ERROR FuncAs sms send but no message text\"; :return \"ERROR sms\" } }   # part to sms from API sms.ru # must be configured global variable $apikey for sms.ru user ; :set ($FuncAS->\"smsAPI\") do={          :if ([:len $0]!=0) do={ :local SMSanswer; :global apikey; :if ([:len $apikey]!=0) do={        :local NumPhone          :global ADMINPHONE;          :if ([:len $1]!=0) do={:set NumPhone $1} \\               else={                      :if ([:len $ADMINPHONE]!=0) do={:set NumPhone $ADMINPHONE} \\                             else={                                 :local NumSMS [\/tool sms get allowed-number];                                      :if ([:len $NumSMS]!=0) do={:set NumPhone ($NumSMS->0)} \\                                              else={:log error \"ERROR FuncAs smsAPI phone number not found\"; :return \"ERROR smsAPI\"} }}           :log info \"\"; :log warning \"FuncAS start smsAPI sending to $NumPhone\";          :do {          :set SMSanswer [\/tool fetch url=(\"https:\/\/sms.ru\/sms\/send\\?api_id=\".\"$apikey\") mode=https http-method=post http-data=(\"&amp;to=\".\"$NumPhone\".\"&amp;msg=\".\"$0\".\"&amp;json=1\") as-value output=user];                } on-error={:log error \"ERROR FuncAs smsAPI fetch send\"; :return \"ERROR smsAPI\"}           :if (($SMSanswer->\"status\")=\"finished\") do={           :local ans;           :if ([find ($SMSanswer->\"data\") \"ERROR\"]>0) do={:set ans \"ERROR smsAPI\"; :log error \"ERROR FuncAs smsAPI send\"; :log info \"\";} else={:set ans \"done smsAPI\"; :log warning \"FuncAs sms sent via API sms.ru\"; :log info \"\";}           :return $ans;       } else={:log error \"ERROR FuncAs smsAPI fetch to sms.ru\"; :return \"ERROR smsAPI\"}      } else={:log error \"ERROR FuncAs smsAPI apikey not defined\"; :return \"ERROR smsAPI\"}    } else={:log error \"ERROR FuncAs smsAPI send but no message text\"; :return \"ERROR smsAPI\" } }    # part to sms from Laurent-5G module # must be configured Ladr, Lpass  :set ($FuncAS->\"smsLT\") do={ :if ([:len $0]!=0) do={                  :local Lanswer;                  :global Ladr                  :global Lport                  :global Lpass                  :local Sport :if (([:len $Ladr]!=0) &amp;&amp; ([:len $Lpass]!=0)) do={ :if ([:len $0]!=0) do={   :if ([:len $1]=0) do={:set $1 \"1\"}                  :if ([:len $Lport]=0) do={:set Sport \"80\";} else={:set Sport $Lport;}  # must be performed translite      :global FuncAS      :set $0 [($FuncAS->\"translite\") string=$0]  # replacing a space in a line with a sign \"+\" # for normal space sending    :local string $0    :local StrTele    :for i from=0 to=([:len $string]-1) do={:local keys [:pick $string $i (1+$i)]; # \\2B=\"+\" or you can use \\5F (\"_\")          :if ($keys=\" \") do={:set $code \"\\2B\";} else={:set $code $keys};    :set $StrTele (\"$StrTele\".\"$code\")}    :set $0 $StrTele;           :log info \"\"; :log warning \"FuncAS start sms from Laurent getway sending to $1 database cell\";                                     :local StrFetchLaurent; :set StrFetchLaurent (\"http:\/\/\".\"$Ladr\".\":\".\"$Sport\".\"\/cmd.cgi?psw=$Lpass&amp;cmd=SMS,\".\"SND\".\",\".\"$1,\".\"C,\".\"$0\");                                               do {                                       :set Lanswer ([\/tool fetch url=$StrFetchLaurent mode=http as-value output=user]->\"data\");                                                                  } on-error={: log info \"\"; :log error (\"Call ERROR function &lt;$0> ERROR fetch command\");                                                                                        :local Lanswer \"ERROR $0 command ROS &lt;fetch>\"; : log info \"\"; :return $Lanswer}                                                      :if ($Lanswer=\"#SMS,SND,OK\\0D\\0A\") do={:log warning \"FuncAs sms sent via Laurent getway\"; :log info \"\"; :return \"done smsLT\";} else={                                     :if ($Lanswer=\"#ERR,NO_FREE_PLACE\\0D\\0A\") do={:log info \"\"; :log error (\"ERROR function FuncAS smsLT but no free place\");                                    :log info \"\"; :return \"ERROR FuncAS smsLT no free place\"}                                     :if ($Lanswer=\"#ERR,BAD_PHN\\0D\\0A\") do={:log info \"\"; :log error (\"ERROR function FuncAS smsLT but invalid phone number\");                                    :log info \"\"; return \"ERROR FuncAS smsLT bad phone number\"}     :return \"ERROR smsLT unknown\"}          } else={:log info \"\"; :log error \"ERROR FuncAs smsLT parametrs no defined\"; :return \"ERROR smsLT\"}    } else={:log info \"\"; :log error  \"ERROR FuncAS smsLT Ladr or Lpass not defined\"; :return \"ERROR smsLT\"}  } }   # part to sms from Netping device modem (as getway)  # [$FuncNPsendSMS \"you text in utf8\" \"+7phonenumber\"] # \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b NPadr, NPuser, NPpass  :set ($FuncAS->\"smsNP\") do={ :if ([:len $0]!=0) do={ :global NPadr; :global NPuser; :global NPpass; :if (([:len $NPadr]!=0) &amp;&amp; ([:len $NPuser]!=0) &amp;&amp; ([:len $NPpass]!=0)) do={ :local NPanswer;        :local NumPhone          :global ADMINPHONE;          :if ([:len $1]!=0) do={:set NumPhone $1} \\               else={                      :if ([:len $ADMINPHONE]!=0) do={:set NumPhone $ADMINPHONE} \\                             else={                                 :local NumSMS [\/tool sms get allowed-number];                                      :if ([:len $NumSMS]!=0) do={:set NumPhone ($NumSMS->0)} \\                                              else={:log error \"ERROR FuncAs smsNP phone number not found\"; :return \"ERROR smsAPI\"} }} :if ([:pick $NumPhone 0 2]=\"+7\") do={  # must be performed translite :global FuncAS :set $0 [($FuncAS->\"translite\") string=$0]           :log info \"\"; :log warning \"FuncAS start sms from Netping getway sending to $NumPhone\"; :do { :set NPanswer [\/tool fetch url=(\"http:\/\/\".\"$NPadr\".\"\/sendsms.cgi\\?utf8\") mode=http http-method=post http-data=(\"[\".\"$NumPhone\".\"]\".\" \".\"$0\") user=$NPuser password=$NPpass as-value output=user]; } on-error={:log error \"ERROR FuncAs smsNP fetch send\"; :return \"ERROR smsNP\"} :if (($NPanswer->\"status\")=\"finished\") do={:log warning \"FuncAs sms sent via Netping getway\"; :log info \"\";         :set NPanswer ($NPanswer->\"data\");  :if ([:find $NPanswer \"ok\"]) do={:return \"done smsNP\"} else={:return \"ERROR smsNP\"}             } else={ :return \"ERROR smsNP\"}       } else={:log error \"ERROR FuncAs smsNP invalid phone number format\"; :return \"ERROR smsNP\"}       } else={:log error \"ERROR FuncAs smsNP NPadr or NPuser or NPpass not defined\"; :return \"ERROR smsNP\"}     } else={:log error \"ERROR FuncAs smsNP send but no message text\"; :return \"ERROR smsNP\" } }   # part to e-mail :set ($FuncAS->\"email\") do={             :if ([:len $0]!=0) do={              :global ADMINMAIL;          :if (([:len $1]=0) &amp;&amp; ([:len $ADMINMAIL]=0)) do={:log error \"ERROR FuncAs email send E-mail address not found\"; :return \"ERROR email\"}               :if ([:len $1]!=0) do={} else={:set $1 $ADMINMAIL}               :local smtpserv               :do {               :set smtpserv [:resolve [\/tool e-mail get address]];} on-error={:log error \"ERROR FuncAs email no resolve email server\"; :return \"ERROR email\"}               :local Eaccount [\/tool e-mail get user];               :local pass [\/tool e-mail get password];               :local Eport [\/tool e-mail get port];               :local Etls \"yes\"; # \u0435\u0441\u043b\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \"no\";               :log info \" \"; :log warning (\"FuncAS start mail sending ... to e-mail: $1\");               :do {                    [\/tool e-mail send from=\"&lt;$Eaccount>\" to=$1 server=$smtpserv \\                    port=$Eport user=$Eaccount password=$pass start-tls=$Etls subject=(\"from FuncAS Router $[\/system identity get name]\") body=$0;];                } on-error={:log error \"ERROR FuncAs email send\"; :return \"ERROR email\"}                    :local sendit 60                     :while ($sendit > 0) do={:delay 1s; :set $sendit ($sendit - 1)                     :if (([tool e-mail get last-status] = \"succeeded\") or ([tool e-mail get last-status] = \"failed\")) do={:set $sendit 0}}                     :if ([tool e-mail get last-status] = \"succeeded\") do={:log warning \"FuncAs message to email send\"; :log info \"\"; :return \"done email\"} \\                     else={:log error \"ERROR FuncAs email send\"; :return \"ERROR email\"}     } else={:log error \"ERROR FuncAs email send but no message text\"; :return \"ERROR email\" }  }   # part to all send channels (a psevdo recursive call is used !) # must be the last to bypass the $0 &lt;-->$1 effect  :set ($FuncAS->\"all\") do={          :if ([:len $0]!=0) do={         :global FuncAS;         :global ADMINMAIL;         :local T         :local E         :local MDsms         :local APIsms         :local LTsms         :local NPsms  # bypass when calling a function without keys !                  :if ([:typeof $0]=\"lookup\") do={:set $0 $1; :if ((any $2) &amp;&amp; ($2=\"translite\")) do={:set $1 $2}}          :set T [($FuncAS->\"telegram\") $0 $1]         :set E [($FuncAS->\"email\") $0 $ADMINMAIL]         :set MDsms [($FuncAS->\"sms\") $0]         :set APIsms [($FuncAS->\"smsAPI\") $0]         :set LTsms [($FuncAS->\"smsLT\") $0]         :set NPsms [($FuncAS->\"smsNP\") $0]         :return [:toarray {$T;$E;$MDsms; $APIsms; $LTsms; $NPsms}]     } else={:log error \"ERROR FuncAs all but no message text\"; :return \"ERROR common sending\" } }   # ------------------------------------------------------------------- # examples call: # -------------------------------------------------------------------  # :global FuncAS # :log info [($FuncAS->\"telegram\") (\"Router \".\"$[\/system identity get name]\".\" test function FuncAS to Telegram Hello \u0442\u0435\u0441\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 FuncAS \u0434\u043b\u044f \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c\")] # :log info [($FuncAS->\"telegram\") (\"Router \".\"$[\/system identity get name]\".\" test function FuncAS to Telegram Hello \u0442\u0435\u0441\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 FuncAS \u0434\u043b\u044f \u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c\") \"translite\"] # :log info [($FuncAS->\"email\") (\"Router \".\"$[\/system identity get name]\".\" test FuncAS to e-mail \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\") \"user@gmail.com\"] # :log info [($FuncAS->\"email\") (\"Router \".\"$[\/system identity get name]\".\" test FuncAS to e-mail\")] # :log info [($FuncAS->\"sms\") (\"Router \".\"$[\/system identity get name]\".\" test function FuncAS test to SMS \u041f\u0440\u0438\u0432\u0435\u0442 !\")] # :log info [($FuncAS->\"all\") (\"Router \".\"$[\/system identity get name]\".\" test function FuncAS all channels\")]  # exception support for Telegram # :log info [($FuncAS->\"telegram\") (\"text H\".\"\\\\\".\"\\$\".\" @!#%'()*+,-.\/:;&lt;=>?[]^_`{|}~\")]  # :log info [($FuncAS->\"smsAPI\") \"Verify for Sertik\" \"+79107777777\"] # :log info [($FuncAS->\"smsAPI\")] # :log info [($FuncAS->\"smsAPI\") \"\u0441\u043c\u0441 \u043e\u0442 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a to you\" \"+79654123794\"]  # exception transliteration for Telegram and send SMS modem # :log info [($FuncAS->\"smsNP\") (\"\u043f\u0440\u0438\u0432\u0435\u0442 text H\".\"\\\\\".\"\\$\".\" @!#%'()*+,-.\/:;&lt;=>?[]^_`{|}~\") \"+79657777777\"]  # :log info [($FuncAS->\"telegram\") (\"Router \".\"$[\/system identity get name]\".\" \u041f\u0440\u0438\u0432\u0435\u0442 \u0430\u0434\u043c\u0438\u043d ! \u0421 \u043d\u043e\u0432\u044b\u043c \u0433\u043e\u0434\u043e\u043c \u0442\u0435\u0431\u044f ...\") \"translite\"] # :log info [$FuncAS \"\u0421 \u043d\u043e\u0432\u044b\u043c \u0433\u043e\u0434\u043e\u043c !\"] # :log info [$FuncAS \"\u0421 \u043d\u043e\u0432\u044b\u043c \u0433\u043e\u0434\u043e\u043c !\" \"translite\"]  # :log info [($FuncAS->\"smsLT\") (\"good by world\") 2] # :log info [($FuncAS->\"smsLT\") (\"\u043f\u0440\u0438\u0432\u0435\u0442 text H\".\"\\\\\".\"\\$\".\" @!#%'()*+,-.\/:;&lt;=>?[]^_`{|}~\") 2]  # :log info [$FuncAS \"good by world\" sv_device@mail.ru] # :log info [($FuncAS->\"all\") (\"good by world \u0434\u043e \u0441\u0432\u0438\u0434\u0430\u043d\u0438\u044f \u043c\u0438\u0440\") \"translite\"]<\/code><\/pre>\n<\/p><\/div>\n<\/p><\/div>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u044b \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u043a\u043e\u0434\u0443. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u0448\u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043b\u0443\u0436\u0431 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e (\u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043a\u0430\u043d\u0430\u043b\u0443) \u0442\u0430\u043a \u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u0421\u043b\u0443\u0436\u0438\u0442 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u0445. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0432 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0435, \u043e\u0434\u043d\u0430\u043a\u043e \u0432\u0432\u0438\u0434\u0443 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u0432\u0440\u044f\u0434 \u043b\u0438 \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e.<br \/>  \u0418\u0437 \u0432\u044b\u0448\u0435\u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0430\u043a\u0436\u0435, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438-\u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u043a \u00ab\u043f\u043e\u0434\u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00bb \u0442\u0430\u043a \u0438 \u0434\u0430\u043d\u043d\u044b\u0435.<br \/>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0447\u0430\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0434 \u043a\u043b\u044e\u0447\u043e\u043c ($FuncAS->\u00aball\u00bb). \u041f\u043e\u043c\u043d\u044f \u043f\u0440\u043e lookup \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043e\u0442\u043a\u0443\u0434\u0430 \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438: \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u043e \u043a\u043b\u044e\u0447\u0443 \u00aball\u00bb \u0438\u043b\u0438 \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0446\u0435\u043b\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f $FuncAS \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043a\u043e\u0434\u0430:<\/p>\n<pre><code class=\"lua\"> :if ([:typeof $0]=\"lookup\") do={:set $0 $1; :if ((any $2) &amp;&amp; ($2=\"translite\")) do={:set $1 $2}}<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0430, \u0442\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u00ab\u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0436\u043a\u0430\u00bb \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432: $1 \u00ab\u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f\u00bb \u0432 $0, \u0430 $2, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u043b\u043e\u043a\u0430 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f $1.<\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u043c\u043e\u0436\u043d\u043e \u00ab\u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 \u043d\u0430\u043c, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e-\u043c\u0430\u0441\u0441\u0438\u0432 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0434\u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u0438 \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c.<br \/>  \u0421 2017 \u0433\u043e\u0434\u0430 \u043c\u043d\u043e\u0439 \u0431\u044b\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u043e\u043a\u043e\u043b\u043e 200 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0430\u043c\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u043e\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043c\u043d\u0435 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421. \u041a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0435. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u043c \u0444\u043e\u0440\u0443\u043c\u0435 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043f\u043e <a href=\"https:\/\/forummikrotik.ru\/viewforum.php?f=14\" rel=\"nofollow noopener noreferrer\">\u0441\u0441\u044b\u043b\u043a\u0435<\/a>.<\/p>\n<p>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043c\u043e\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0438\u0437\u0443\u0447\u0430\u044e\u0449\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a. \u0412\u0441\u0435\u043c \u0436\u0435\u043b\u0430\u044e \u0443\u0434\u0430\u0447\u0438 \u0432 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0443\u0441\u043f\u0435\u0445\u043e\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>  \u00a9 \u0421\u0435\u0440\u043a\u043e\u0432 \u0421\u0435\u0440\u0433\u0435\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447 2022 (Sertik)<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/646663\/\"> https:\/\/habr.com\/ru\/post\/646663\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0438\u043c\u0435\u0435\u0442 \u043c\u043e\u0449\u043d\u0435\u0439\u0448\u0438\u0439 LUA-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u043f\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e. \u0421\u043a\u0440\u0438\u043f\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 \u0438\u043b\u0438 \u0438\u043c\u0435\u0442\u044c \u0432\u043d\u0443\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b, \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044f \u043f\u043e\u043b\u0435\u0442 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 <a href=\"https:\/\/wiki.mikrotik.com\/wiki\/Manual:Scripting\" rel=\"nofollow noopener noreferrer\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a> \u043f\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u0440\u0430\u0442\u043a\u043e \u0438, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0420\u043e\u0443\u0442\u0435\u0440 \u041e\u0421.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u044e\u0449\u0435\u0439 \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0443, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0434\u043d\u0443 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0440\u0443\u0431\u0440\u0438\u043a \u00ab\u0441\u043a\u0440\u0438\u043f\u0442\u0438\u043d\u0433\u0430\u00bb, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. <\/p>\n<p>  \u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u0438, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u043c \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u043f\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u0432\u044b\u0448\u0435, \u043b\u0438\u0431\u043e \u0441 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/blog.telecom-sales.ru\/napisanie-skriptov-dlya-routeros\" rel=\"nofollow noopener noreferrer\">\u0437\u0434\u0435\u0441\u044c<\/a>). \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u043d\u0430\u0442\u044c \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445 \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a, \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u043e\u0431 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0442.\u0434\u2026 \u0422\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f <a href=\"https:\/\/habr.com\/ru\/post\/270719\/\">habr.com\/ru\/post\/270719<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u0432\u0442\u043e\u0440 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u0438\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 LUA \u041c\u0438\u043a\u0440\u043e\u0442\u0438\u043a \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-328343","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/328343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=328343"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/328343\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=328343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=328343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=328343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}