{"id":309182,"date":"2020-08-29T15:00:28","date_gmt":"2020-08-29T15:00:28","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=309182"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2020-08-29T15:00:28","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=309182","title":{"rendered":"\u0411\u043e\u0442 \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c, \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0432\u0430\u0448\u0438 \u044d\u043c\u043e\u0446\u0438\u0438 \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/517044\/\">\n<h2>\u041f\u0440\u0438\u0432\u0435\u0442!<\/h2>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043e\u043f\u0438\u0448\u0443 \u0441\u0432\u043e\u0435\u0433\u043e \u0431\u043e\u0442\u0430 \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441.<\/p>\n<p>  <\/p>\n<h3>\u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0431\u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f, \u0435\u0433\u043e \u0446\u0435\u043b\u044c \u0438 \u0443\u043c\u0435\u043d\u0438\u044f<\/h3>\n<p>  <\/p>\n<p>\u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u0432\u0443\u043a\u043e\u0432 \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u044d\u043c\u043e\u0446\u0438\u0439 \u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439. \u041d\u043e \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0438 &quot;\u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435&quot;. \u041e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442 \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0432\u0443\u043a\u0438, \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u043e\u043c\u0435\u0442\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043e\u0437\u0434\u0430\u043b \u0431\u043e\u0442\u0430, \u0438 \u043e\u043d \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0447\u0438, \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u044b\u0447\u0430\u043d\u0438\u0435\u043c, \u0441\u043a\u0440\u0438\u043f\u0430\u043c\u0438, \u0432\u0441\u0445\u043b\u0438\u043f\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0440\u044b\u043a\u0430\u043c\u0438 \u0438 \u0441\u043e\u0442\u043d\u0435\u0439 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u043e\u043d\u043e\u0432 \u0438 \u043f\u043e\u043b\u0443\u0442\u043e\u043d\u043e\u0432.<br \/>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0433\u0430\u044e, \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u0435\u043a\u0442\u043e\u0440\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044f \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u042d\u043c\u043e\u0446\u0438\u0438 \u2014 \u043f\u0435\u0440\u0432\u044b\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438 \u043f\u043e \u0442\u043e\u043d\u0443 \u0440\u0435\u0447\u0438 \u0438\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e \u0445\u043c\u044b\u043a\u0430\u043d\u044c\u044e \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0438 \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0441\u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043e\u043d \u043d\u0430\u0447\u043d\u0451\u0442 \u0440\u0443\u0433\u0430\u0442\u044c\u0441\u044f \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c.<br \/>  \u041c\u043e\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u0438\u0434\u0430\u0442\u044c \u0438 \u0441\u0430\u043c\u0438\u043c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u043c \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 &quot;\u0447\u0435\u043b\u043e\u0432\u0435\u0447\u043d\u043e\u0441\u0442\u0438&quot;. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043a\u0430\u0448\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u043b\u0435\u043a\u0446\u0438\u0435\u0439 \u0438\u043b\u0438 \u0443\u0441\u043c\u0435\u0445\u0430\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u044b\u043b\u0430 \u0448\u0443\u0442\u043a\u0430.<br \/>  \u0412 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0447\u043b\u0435\u043d\u043e\u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0438 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0441\u0445\u043b\u0438\u043f\u044b\u0432\u0430\u043d\u0438\u044f\u043c \u0441\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043b\u0435\u0447\u0435\u043d\u0438\u044f. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0438 \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0430\u0443\u0442\u0438\u0437\u043c \u0438 \u0434\u0438\u0441\u043b\u0435\u043a\u0441\u0438\u044f.<br \/>  \u0412 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430\u0445 \u0431\u043e\u0442 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0447\u0443\u0432\u0441\u0442\u0432\u0430 \u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0442\u044c \u043d\u0430\u0440\u0430\u0432\u043d\u0435, \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u044d\u043c\u043e\u0434\u0436\u0438.<br \/>  \u041a\u0430\u043a \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0443 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440 &quot;\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c&quot;.<br \/>  \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u0435 \u0431\u043e\u0442 @YouToneBot \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u0432\u0443\u043a \u044d\u043c\u043e\u0446\u0438\u0438 \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u043c\u0430\u0439\u043b\u0438\u043a.<br \/>  \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u0442\u0430 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0442\u043e\u043d \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c &quot;\u044d\u043c\u043e\u0434\u0437\u0438&quot;.<\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<h4>\u041a\u0430\u043a\u043e\u0439 \u043e\u043d \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f?<\/h4>\n<p>  <\/p>\n<p>\u041e\u043d \u0441\u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u0441\u043c\u0430\u0439\u043b, \u0442\u0430\u043a \u0436\u0435 \u043e\u043d \u0441\u043c\u043e\u0436\u0435\u0442 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0432 \u0447\u0430\u0442\u0435! \u0414\u0430\u0436\u0435 \u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0433\u043e \u0438\u043c\u044f \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438, \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hu\/-x\/vg\/hu-xvge0f_lsyefomgzmcryqrzu.png\" alt=\"image\"><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/au\/_n\/sp\/au_nspd6k5ep0u-q_p1i9qlgy7e.png\" alt=\"image\"><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/dx\/wi\/yg\/dxwiygveepkrqhaneofnhib4dgw.png\" alt=\"image\">  <\/p>\n<h3>\u041a\u043e\u0434<\/h3>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u043e\u0442 \u0443\u043c\u0435\u0435\u0442 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043d\u0430 \u0441\u043c\u0430\u0439\u043b. \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e, \u043d\u0430\u0447\u043d\u0435\u043c.<br \/>  \u042f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0431\u043e\u0442\u0430 \u043d\u0430 Python, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <a href=\"https:\/\/pypi.org\/project\/pyTelegramBotAPI\/\" rel=\"nofollow\">PyTelegramBotApi<\/a>.<br \/>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0442 \u0431\u043e\u0442\u0430. \u042f \u0443\u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u0431\u043e\u0442 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u0442\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u043e\u0441\u043b\u0430\u043d\u044b \u0435\u043c\u0443, \u0422.\u041a. \u0443 PyTelegramBotApi \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f <b>send_voice()<\/b> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <b>message_handler()<\/b> \u0432\u0437\u044f\u0442\u044c <b>message.voice.file_id<\/b>.<br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u043a\u0430\u043a \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u0432\u0443\u043a\u0438 \u043a \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u0430\u043c, \u0438 \u0432\u043e\u0442 \u043a\u0430\u043a \u044f \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b: \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 <b>JSON <\/b>, \u043a\u0430\u043a \u043a\u043b\u044e\u0447 \u0431\u0443\u0434\u0435\u0442 \u0441\u043c\u0430\u0439\u043b\u0438\u043a \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0432\u0443\u043a, \u0430 \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u043e\u0442\u0443, \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0433\u043e id, \u043a \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u0443. \u0412\u043e\u0442 \u0438 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0432\u0443\u043a\u043e\u0432, \u043d\u0430\u043c \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043d\u0443\u0436\u0435\u043d &quot;python \u0441\u043b\u043e\u0432\u0430\u0440\u044c&quot;, \u0438 \u0432 \u043d\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043a\u043b\u044e\u0447 \u0441\u043c\u0430\u0439\u043b, \u0430 \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>  \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">{     &quot;emoji1&quot;: &quot;voice_id1&quot;,     &quot;emoji2&quot;: &quot;voice_id2&quot;,     &quot;emoji3&quot;: &quot;voice_id3&quot;,     &quot;emoji4&quot;: &quot;voice_id4&quot;,     &quot;emoji5&quot;: &quot;voice_id5&quot;,     &quot;emoji6&quot;: &quot;voice_id6&quot;, } #\u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 &quot;emoji&quot; == ~\u0441\u043c\u0430\u0439\u043b\u0438\u043a<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0443 \u043c\u0435\u043d\u044f \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0432\u0443\u043a\u043e\u0432. <\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u0434.<br \/>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u043a\u043b\u0430\u0441\u0441 <b>YouTone()<\/b>, \u0447\u0442\u043e\u0431\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0431\u043e\u0442\u0430 \u0442\u0430\u043c.<br \/>  \u0412 <b>def <strong>init<\/strong>(self)<\/b> \u044f \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b <b>TOKEN<\/b>, <b>VOICE_SOUNDS<\/b><br \/>  <b>TOKEN<\/b> \u2014 \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u043e\u043a\u0435\u043d \u0431\u043e\u0442\u0430<br \/>  <b>VOICE_SOUNDS<\/b> \u2014 \u044d\u0442\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044c, \u0438\u0437 \u0441\u043c\u0430\u0439\u043b\u043e\u0432 \u0438 id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439#\u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<br \/>  \u0418 \u0442\u0430\u043c \u0436\u0435, \u0432 init, \u0441\u043e\u0437\u0434\u0430\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <b>self.BOT<\/b>, \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c \u043a\u043e\u0434\u043e\u043c<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">TL.TeleBot(self.TOKEN)<\/code><\/pre>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0430\u043c \u0431\u043e\u0442.<br \/>  \u0418\u0442\u0430\u043a, \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u043b 3 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u044d\u0442\u043e<br \/>  <b>LS_handler()<\/b> \u2014 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0430\u044f \u0437\u0430 \u043b\u0438\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0443 \u0441 \u0431\u043e\u0442\u043e\u043c<br \/>  <b>start_handler()<\/b> \u2014 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0430\u044f \u0437\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u043e\u0442\u0443 (<b>\/start<\/b> \u0438 <b>\/get<\/b>) \u0432 \u043b\u0438\u0447\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0435<br \/>  <b>local_lerning()<\/b> \u2014 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043a \u0441\u043c\u0430\u0439\u043b\u0430\u043c<br \/>  \u0412 <b>LS_handler()<\/b> \u043f\u043e\u043a\u0430 \u0441\u0434\u0435\u043b\u0430\u0435\u043c echo \u0431\u043e\u0442\u0430<\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">LS_handler()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def LS_handler(self):     @self.BOT.message_handler(content_types=['text'])     def send_text(message):         def msg(message_text):             self.BOT.send_message(message.chat.id, str(message_text))         msg(message.text)<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0412 <b>start_handler()<\/b> \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <b>\/start<\/b> \u0431\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c <u>\u043f\u0440\u0438\u0432\u0435\u0442<\/u><\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">start_handler()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def start_handler(self):     @self.BOT.message_handler(commands=['start', &quot;get&quot;])     def commands(message):         if message.text == &quot;\/start&quot;:             self.BOT.send_message(message.chat.id, '\u041f\u0440\u0438\u0432\u0435\u0442. \u042f \u0432\u044b\u0441\u044b\u043b\u0430\u044e \u0442\u0435\u0431\u0435 \u0437\u0432\u0443\u043a\u0438 \u043f\u043e \u0441\u043c\u0430\u0439\u043b\u0430\u043c')<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0439\u043c\u0435\u043c\u0441\u044f <b>local_lerning()<\/b>. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a \u0441\u043c\u0430\u0439\u043b\u0430\u043c \u0437\u0432\u0443\u043a\u0438 \u043e\u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u044e\u0449\u0438\u0435 \u0441\u043c\u0430\u0439\u043b, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u043e\u0442\u0443, \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0431\u043e\u0442\u0430, \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043c\u0430\u0439\u043b\u0443.<br \/>  \u0421\u0434\u0435\u043b\u0430\u043b \u044f \u044d\u0442\u043e \u0442\u0430\u043a \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u0443\u0434\u043e\u0431\u043e \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0442\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f tkinter. \u041d\u0430 \u043e\u043a\u043d\u0435 \u0432 tkitner \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439 \u0441\u043c\u0430\u0439\u043b \u043d\u0443\u0436\u043d\u043e \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c, \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u0437\u0432\u0443\u043a \u0431\u043e\u0442\u0443, \u043d\u0430 \u043e\u043a\u043d\u0435 tkitner \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0430 &quot;\u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0442\u044c \u0437\u0432\u0443\u043a&quot;, \u044f \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u044e \u0438 \u0435\u0441\u043b\u0438 \u043c\u043d\u0435 \u043e\u043d \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0442\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u044e \u043d\u0430 &quot;\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u0432\u0443\u043a \u043a \u0441\u043c\u0430\u0439\u043b\u0443&quot;, \u0438 \u043a \u0441\u043b\u043e\u0432\u0430\u0440\u044e \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f (\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f):<br \/>  <b>\u0441\u043c\u0430\u0439\u043b <\/b> \u2014 \u043a\u0430\u043a \u043a\u043b\u044e\u0447<br \/>  <b>id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<\/b> \u2014 \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f \u0441\u0434\u0435\u043b\u0430\u043b 3 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0438 \u0442\u0430\u043a\u0436\u0435 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u043e\u0432 \u0431\u0435\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439<br \/>  <b>window_smile()<\/b> \u2014 \u0441\u0430\u043c\u043e \u043e\u043a\u043d\u043e tkitner<br \/>  <b>bot_work()<\/b> \u2014 \u044d\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u043e\u0442\u0430, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044e \u043f\u0440\u0438\u0435\u043c\u0430 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.<br \/>  <b>save_sound()<\/b> \u2014 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b \u0441\u043c\u0430\u0439\u043b\u0430 \u0438 id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>  <b>\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u043e\u0432<\/b> \u2014 \u043e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u043e\u0432 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/p>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, <b>window_smile()<\/b> \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0433\u0434\u0435 \u0440\u0438\u0441\u0443\u0435\u0442\u0441\u044f \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043e\u043a\u043d\u043e<\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">window_smile()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def window_smile():#\u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 local_lerning()     self.root = Tk()     self.root.geometry(&quot;500x500&quot;)     self.smile_tkinter = Label(text=self.AUDIO_SOUNDS_ITEMS[self.index][0],font='Times 30')     self.open_sound = Button(text=&quot;\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0437\u0432\u0443\u043a&quot;,font='Times 10',command=lambda: webbrowser.open(url=r&quot;\u043f\u0443\u0442\u044c\/\u0434\u043e\/\u0444\u0430\u0439\u043b\u0430\/\u0432\/\u043a\u043e\u0442\u043e\u0440\u043e\u043c\/\u0437\u0432\u0443\u043a.ogg&quot;))     self.Y_or_N = Button(text=&quot;\u041f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a&quot;,font='Times 15',command=save_sound)     self.info = Label(text=&quot;&quot;&quot;\\n\\n\\n\\n\\n\\n\\n\u0421\u043c\u043e\u0442\u0440\u0438\u0448\u044c \u043d\u0430 \u0441\u043c\u0430\u0439\u043b, \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u0448\u044c,\\n \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0448\u044c,\\n \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0448\u044c '\u041f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a',\\n \u0441\u043c\u0430\u0439\u043b \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f,\\n \u0442\u044b \u0435\u0433\u043e \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0448\u044c,\\n \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0448\u044c,\\n \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0448\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a.&quot;&quot;&quot;,font=&quot;Consolas 11&quot;)     self.smile_tkinter.pack()     self.open_sound.pack()     self.Y_or_N.pack()     self.info.pack()     self.root.mainloop() <\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p><b>bot_work()<\/b> \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0431\u043e\u0442\u0430, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0445 \u0432 <u>&quot;\u043f\u0443\u0442\u044c\/\u0434\u043e\/\u0444\u0430\u0439\u043b\u0430\/\u0432\/\u043a\u043e\u0442\u043e\u0440\u043e\u043c\/\u0437\u0432\u0443\u043a.ogg&quot;<\/u>, <\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">bot_work()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def bot_work():     @self.BOT.message_handler(content_types=['text',&quot;voice&quot;])     def send_text(message):         def msg(message_text):             self.BOT.send_message(message.chat.id, str(message_text))         self.smile_now = self.SOUNDS_DB[self.index][0]         self.smile_tkinter.config(text=self.smile_now)          try:             self.id_voice = message.voice.file_id             self.voice_info = self.BOT.get_file(file_id=self.id_voice)             self.voice_file = requests.get('https:\/\/api.telegram.org\/file\/bot{0}\/{1}'.format(self.TOKEN, self.voice_info.file_path)).content          except BaseException as e:             print(e)         else:             with open(&quot;\u043f\u0443\u0442\u044c\/\u0434\u043e\/\u0444\u0430\u0439\u043b\u0430\/\u0432\/\u043a\u043e\u0442\u043e\u0440\u043e\u043c\/\u0437\u0432\u0443\u043a.ogg&quot;, &quot;wb&quot;) as f:                 f.write(self.voice_file)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0443\u0442 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044e <b>get_file()<\/b>, \u043f\u043e\u0443\u043b\u0447\u0430\u0435\u043c id \u0444\u0430\u0439\u043b\u0430 (\u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f), \u0441 \u043f\u043e\u043c\u043e\u0449\u044e id \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0430\u043c \u0444\u0430\u0439\u043b \u0447\u0435\u0440\u0435\u0437 requests, \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e.<br \/>  \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c id \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u0432 <b>self.voice_id<\/b>.<\/p>\n<\/div><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">save_sound()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def save_sound():      self.voices_good.update({self.smile_now:str(self.id_voice)})     self.index += 1     self.smile_now = self.SMILES_DB[self.index][0]      self.smile_tkinter.config(text=self.smile_now)     with open(&quot;data.txt&quot;,&quot;w&quot;,encoding=&quot;utf-8&quot;) as f:         f.write(str(self.voices_good))<\/code><\/pre>\n<p>  <\/p>\n<p>\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 <u>&quot;\u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a&quot;<\/u>.<br \/>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u043e\u0432 \u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u043e\u0432\u044b\u043c \u0441\u043c\u0430\u0439\u043b\u043e\u043c \u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c.<br \/>  \u0422\u0430\u043a\u0436\u0435 \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043f\u0435\u0440\u043c\u0435\u043d\u043d\u0430\u044f \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043b, \u044d\u0442\u043e <b>self.index<\/b>, \u0432 \u044d\u0442\u043e\u0439 \u043f\u0435\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0438\u043d\u0434\u0435\u043a\u0441 \u0441\u043c\u0430\u0439\u043b\u0438\u043a\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u043e\u0437\u0432\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0422.\u0415. \u0438\u043d\u0434\u0435\u043a\u0441 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 <b>self.SMILES_DB<\/b><\/p>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u044f \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <b>local_lerning()<\/b>, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e 2 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u0430\u0445, \u044d\u0442\u043e<br \/>  <b>window_smile()<\/b>\u0438 <b>bot_work()<\/b>.<br \/>  \u0414\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044e <a href=\"https:\/\/docs.python.org\/3\/library\/threading.html\" rel=\"nofollow\">threading<\/a>.<br \/>  \u0412\u043e\u0442 \u0442\u0430\u043a<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">from threading import Thread th1 = Thread(target=window_smile) th1.start() th2 = Thread(target=bot_work) th2.start()<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">local_lerning()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def local_lerning(self):     from threading import Thread     self.smile_now = None     self.index = 0     self.id_voice = None     self.voices_good = {      }     self.smile_tkinter = None      def save_sound():          self.voices_good.update({self.smile_now:str(self.id_voice)})         self.index += 1         self.smile_now = self.AUDIO_SOUNDS_ITEMS[self.index][0]          self.smile_tkinter.config(text=self.smile_now)         with open(&quot;data.txt&quot;,&quot;w&quot;,encoding=&quot;utf-8&quot;) as f:             f.write(str(self.voices_good))      def window_smile():         self.root = Tk()         self.root.geometry(&quot;500x500&quot;)         self.smile_tkinter = Label(text=self.AUDIO_SOUNDS_ITEMS[self.index][0],font='Times 30')         self.open_sound = Button(text=&quot;\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0437\u0432\u0443\u043a&quot;,font='Times 10',command=lambda: webbrowser.open(url=r&quot;C:\\Program Files\\JetBrains\\projects\\telegram\\voice.ogg&quot;))         self.Y_or_N = Button(text=&quot;\u041f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a&quot;,font='Times 15',command=save_sound)         self.info = Label(text=&quot;&quot;&quot;\\n\\n\\n\\n\\n\\n\\n\u0421\u043c\u043e\u0442\u0440\u0438\u0448\u044c \u043d\u0430 \u0441\u043c\u0430\u0439\u043b, \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u0448\u044c,\\n \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0448\u044c,\\n \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0448\u044c '\u041f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a',\\n \u0441\u043c\u0430\u0439\u043b \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f,\\n \u0442\u044b \u0435\u0433\u043e \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0448\u044c,\\n \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0448\u044c,\\n \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0448\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0432\u0443\u043a.&quot;&quot;&quot;,font=&quot;Consolas 11&quot;)         self.smile_tkinter.pack()         self.open_sound.pack()         self.Y_or_N.pack()         self.info.pack()         self.root.mainloop()      def bot_work():         @self.BOT.message_handler(content_types=['text',&quot;voice&quot;])         def send_text(message):             def msg(message_text):                 self.BOT.send_message(message.chat.id, str(message_text))              def snd_doc(name_doc):                 self.BOT.send_document(message.chat.id, open(name_doc, &quot;rb&quot;))              self.smile_now = self.AUDIO_SOUNDS_ITEMS[self.index][0]             self.smile_tkinter.config(text=self.smile_now)              try:                 self.id_voice = message.voice.file_id                 self.voice_info = self.BOT.get_file(file_id=self.id_voice)                 self.voice_file = requests.get('https:\/\/api.telegram.org\/file\/bot{0}\/{1}'.format(self.TOKEN, self.voice_info.file_path)).content              except BaseException as e:                 print(&quot;\u043e\u0448\u0438\u0431\u043a\u0430: &quot;,e)             else:                 with open(&quot;voice.ogg&quot;, &quot;wb&quot;) as f:                     f.write(self.voice_file)      th1 = Thread(target=window_smile)     th1.start()     th2 = Thread(target=bot_work)     th2.start()<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u043c\u0430\u043b\u0438\u043a\u043e\u0432.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bj\/yg\/9l\/bjyg9lff5xgpdogjrpm2f2zuqms.jpeg\" alt=\"image\"><\/p>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u0441 \u043f\u043e\u043c\u043e\u0449\u044e \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043a \u0441\u043c\u0430\u0439\u043b\u0430\u043c. \u0422\u0430\u043a \u044f \u0438 \u0441\u0434\u0435\u043b\u0430\u043b.<br \/>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043c\u0430\u0439\u043b\u043e\u0432, \u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043a \u043d\u0438\u043a. <\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0432\u0438\u0434\u0435 \u0441\u043c\u0430\u0439\u043b\u043e\u0432. \u041d\u0430\u0447\u043d\u0435\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441 \u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u0442\u0430 inline.<br \/>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043d\u043e\u0440\u0443\u0436\u0438\u0442\u044c \u0441\u043c\u0430\u0439\u043b\u044b \u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438, \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u043f\u0438\u0441\u043e\u043a, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043d\u0435\u0442\u0443 \u043b\u0438 \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 <u>\u0437\u0432\u0443\u043a\u043e\u0432 \u0438 \u0441\u043c\u0430\u0439\u043b\u043e\u0432<\/u> \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0442\u043e \u0442\u043e\u0433\u0434\u0430 \u0437\u0432\u0443\u043a \u043d\u0430 \u0441\u043c\u0430\u0439\u043b \u043d\u0430\u0439\u0434\u0435\u043d.<br \/>  \u0412\u043e\u0442 \u0442\u0430\u043a \u043e\u043d\u0430 \u0432\u044b\u0433\u0434\u044f\u043b\u0438\u0442<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">message_list = list(message.text) is_send = False for word in message_list:     if word in self.VOICE_SOUNDS:         if self.VOICE_SOUNDS[word]:             snd_voice(voice_id=self.VOICE_SOUNDS[word])             print(&quot;smile has been found&quot;)             is_send = True             break if not is_send:     print(&quot;smile has been not found&quot;)<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">LS_handler()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def LS_handler(self):     @self.BOT.message_handler(content_types=['text'])     def send_text(message):         def msg(message_text):             self.BOT.send_message(message.chat.id, str(message_text))          def snd_doc(name_doc):             self.BOT.send_document(message.chat.id, open(name_doc, &quot;rb&quot;))         def snd_voice(voice_id: str):             self.BOT.send_voice(message.chat.id,voice=voice_id)          message_list = list(message.text)         is_send = False         for word in message_list:             if word in self.VOICE_SOUNDS:                 if self.VOICE_SOUNDS[word]:                     snd_voice(voice_id=self.VOICE_SOUNDS[word])                     is_send = True                     break         if not is_send:             msg(&quot;\u042f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u0433\u043e \u043c\u043d\u0435 \u0441\u043c\u0430\u0439\u043b\u0430 <\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0432\u0435\u0441\u044c <b>LS_handler()<\/b>, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0447\u0442\u0438 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0432 <b>inline_handler()<\/b><\/p>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u043e\u0442 inline<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<p>\u0411\u043e\u0442 inline \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u0435\u0442 \u0442\u0430\u043a \u0447\u0442\u043e \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0435\u0433\u043e \u0438\u043c\u044f, \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u043d \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0442 \u0438 \u0443\u0436\u0435 \u0432\u044b\u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/p>\n<\/div><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">inline_handler()<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">def inline_handler(self):     @self.BOT.inline_handler(lambda query: len(query.query) &gt; 0)     def query_text(query):         message_list = list(query.query)         #\u0441\u0442\u0430\u0432\u043b\u044e \u0441\u0440\u0430\u0437\u0443 \u0447\u0442\u043e \u043d\u0435 \u043d\u0430\u0448\u0435\u043b, \u0430 \u0435\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0443, \u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u044e ;)         output_msg = [types.InlineQueryResultArticle(             id=&quot;1&quot;,             title=&quot;\u042f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u0433\u043e \u043c\u043d\u0435 \u0441\u043c\u0430\u0439\u043b\u0430 &quot;,             input_message_content=types.InputTextMessageContent(message_text=&quot;\u042f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u0433\u043e \u043c\u043d\u0435 \u0441\u043c\u0430\u0439\u043b\u0430&quot;)         )]         is_send = False         id_now = 1#id \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439         for word in message_list:             try:                 self.VOICE_SOUNDS[word]             except KeyError:                 pass             else:                 if self.VOICE_SOUNDS[word]:                     if is_send == False:                         output_msg = []                     is_send = True                     if not word in [i.title for i in output_msg]:#\u0435\u0441\u043b\u0438 \u0441\u043c\u0430\u0439\u043b\u0430 \u043d\u0435\u0442 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0443\u0436\u0435 \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043c\u0430\u0439\u043b\u043e\u0432, \u0442\u043e \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c ;)                         output_msg.append(types.InlineQueryResultCachedVoice(                             id=str(id_now),                             voice_file_id=self.VOICE_SOUNDS[word],                             title=str(word),                             caption=query.query                         ))                     else:                         pass#\u0442\u0438\u043f\u0430 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u0442\u0430\u043a\u043e\u0439 \u0441\u043c\u0430\u0439\u043b \u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435\u043d\u0435 \u043d\u0430\u0434\u043e                     id_now +=1 #\u044d\u0442\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b id \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u043b\u0441\u044f         self.BOT.answer_inline_query(query.id, output_msg)<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<p>\u041f\u043e\u0447\u0442\u0438 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0430\u043c \u043d\u0443\u0436\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043c\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0431\u043e\u0442\u0443, \u0438 \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u2014 \u043e\u0437\u0432\u0443\u0447\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u043c\u0430\u0439\u043b\u043e\u0432.<br \/>  \u0422.\u0415. \u043c\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0434\u0430\u043d\u0443\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437, \u043d\u043e \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043c\u0430\u0439\u043b\u0435 (\u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u043f\u0440\u0438 \u0432\u0438\u0434\u0435 \u0441\u043c\u0430\u0439\u043b\u0430 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u043b\u0438 break), \u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0441\u043c\u0430\u0439\u043b \u0432 \u0441\u043f\u0438\u0441\u043e\u043a, \u0438 \u0438\u0449\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u043c\u0430\u0439\u043b\u044b. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0432\u0441\u0435 \u0437\u0432\u0443\u043a\u0438 \u043a \u0441\u043c\u0430\u0439\u043b\u0430\u043c.<\/p>\n<p>  <\/p>\n<p><b>\u0418 \u0432\u043e\u0442 \u0442\u0430\u043a \u0441\u0435\u0439\u0447\u0430\u0441 \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u0442\u0430 \u0432 inline<\/b><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/dx\/wi\/yg\/dxwiygveepkrqhaneofnhib4dgw.png\" alt=\"image\">  <\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e \u043b\u043e\u0433\u0438\u043a\u0443, \u043d\u0435\u0436\u0435\u043b\u0438 \u043f\u0440\u043e \u043a\u043e\u0434, \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 <a href=\"https:\/\/habr.com\/ru\/post\/516548\/\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>.<br \/>  \u0411\u043e\u0442\u0430 @YouToneBot \u044f \u0435\u0449\u0435 \u0431\u0443\u0434\u0443 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c, \u0445\u043e\u0447\u0443 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0433 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u0430 \u0431\u043e\u0442 \u0432\u044b\u0434\u0430\u0442\u044c \u043f\u043e \u043d\u0435\u043c\u0443 \u0441\u043c\u0430\u0439\u043b, \u0422.\u0415. \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0431\u043e\u0442\u0430.<br \/>  <b>\u0421\u043f\u0430\u0441\u0438\u0431\u043e!<\/b><\/p>\n<\/div>\n<p> \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\/517044\/\"> https:\/\/habr.com\/ru\/post\/517044\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/517044\/\">\n<h2>\u041f\u0440\u0438\u0432\u0435\u0442!<\/h2>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043e\u043f\u0438\u0448\u0443 \u0441\u0432\u043e\u0435\u0433\u043e \u0431\u043e\u0442\u0430 \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0441\u0435\u0439\u0447\u0430\u0441.<\/p>\n<p>  <\/p>\n<h3>\u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0431\u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0441\u044f, \u0435\u0433\u043e \u0446\u0435\u043b\u044c \u0438 \u0443\u043c\u0435\u043d\u0438\u044f<\/h3>\n<p>  <\/p>\n<p>\u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0437\u0432\u0443\u043a\u043e\u0432 \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u044d\u043c\u043e\u0446\u0438\u0439 \u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439. \u041d\u043e \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0438 &quot;\u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435&quot;. \u041e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442 \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0432\u0443\u043a\u0438, \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e\u0442 \u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u043e\u043c\u0435\u0442\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u043e\u0437\u0434\u0430\u043b \u0431\u043e\u0442\u0430, \u0438 \u043e\u043d \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0447\u0438, \u043f\u043e\u043b\u043d\u043e\u0439 \u043c\u044b\u0447\u0430\u043d\u0438\u0435\u043c, \u0441\u043a\u0440\u0438\u043f\u0430\u043c\u0438, \u0432\u0441\u0445\u043b\u0438\u043f\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438, \u0440\u044b\u043a\u0430\u043c\u0438 \u0438 \u0441\u043e\u0442\u043d\u0435\u0439 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u043e\u043d\u043e\u0432 \u0438 \u043f\u043e\u043b\u0443\u0442\u043e\u043d\u043e\u0432.<br \/>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0433\u0430\u044e, \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u0435\u043a\u0442\u043e\u0440\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044f \u044d\u043c\u043e\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u042d\u043c\u043e\u0446\u0438\u0438 \u2014 \u043f\u0435\u0440\u0432\u044b\u0435 \u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u044b \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438 \u043f\u043e \u0442\u043e\u043d\u0443 \u0440\u0435\u0447\u0438 \u0438\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e \u0445\u043c\u044b\u043a\u0430\u043d\u044c\u044e \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u0438 \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0441\u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043e\u043d \u043d\u0430\u0447\u043d\u0451\u0442 \u0440\u0443\u0433\u0430\u0442\u044c\u0441\u044f \u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c.<br \/>  \u041c\u043e\u0436\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u043f\u0440\u0438\u0434\u0430\u0442\u044c \u0438 \u0441\u0430\u043c\u0438\u043c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u043c \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 &quot;\u0447\u0435\u043b\u043e\u0432\u0435\u0447\u043d\u043e\u0441\u0442\u0438&quot;. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043a\u0430\u0448\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u043b\u0435\u043a\u0446\u0438\u0435\u0439 \u0438\u043b\u0438 \u0443\u0441\u043c\u0435\u0445\u0430\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u044b\u043b\u0430 \u0448\u0443\u0442\u043a\u0430.<br \/>  \u0412 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0447\u043b\u0435\u043d\u043e\u0440\u0430\u0437\u0434\u0435\u043b\u044c\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0438 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0441\u0445\u043b\u0438\u043f\u044b\u0432\u0430\u043d\u0438\u044f\u043c \u0441\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043b\u0435\u0447\u0435\u043d\u0438\u044f. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0438 \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u043d\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0430\u0443\u0442\u0438\u0437\u043c \u0438 \u0434\u0438\u0441\u043b\u0435\u043a\u0441\u0438\u044f.<br \/>  \u0412 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430\u0445 \u0431\u043e\u0442 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0447\u0443\u0432\u0441\u0442\u0432\u0430 \u0438 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0442\u044c \u043d\u0430\u0440\u0430\u0432\u043d\u0435, \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u044d\u043c\u043e\u0434\u0436\u0438.<br \/>  \u041a\u0430\u043a \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0443 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440 &quot;\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c&quot;.<br \/>  \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u0435 \u0431\u043e\u0442 @YouToneBot \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u0432\u0443\u043a \u044d\u043c\u043e\u0446\u0438\u0438 \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u043c\u0430\u0439\u043b\u0438\u043a.<br \/>  \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u0442\u0430 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0442\u043e\u043d \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c &quot;\u044d\u043c\u043e\u0434\u0437\u0438&quot;.<\/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-309182","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/309182","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=309182"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/309182\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=309182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=309182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=309182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}