{"id":310663,"date":"2020-09-29T15:00:33","date_gmt":"2020-09-29T15:00:33","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=310663"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=310663","title":{"rendered":"\u0421\u0430\u043c\u044b\u0439 \u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043f\u043e\u0433\u043e\u0434\u044b: \u0431\u043e\u0442 \u0434\u043b\u044f Telegram \u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445"},"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\/company\/selectel\/blog\/521038\/\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/eh\/sj\/ts\/ehsjtss-vagjx3twi5af7za1vew.png\"><\/div>\n<p>  \u0421\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u0433\u043e\u0434\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u0432\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u0437 \u043d\u0438\u0445 \u0432\u0435\u0440\u0438\u0442\u044c? \u041a\u043e\u0433\u0434\u0430 \u044f \u0441\u0442\u0430\u043b \u0447\u0430\u0441\u0442\u043e \u0435\u0437\u0434\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u0435, \u043c\u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043f\u043e\u0433\u043e\u0434\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0432 \u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u0433\u0434\u0435 \u044f \u043a\u0430\u0442\u0430\u044e\u0441\u044c.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0439 \u043c\u044b\u0441\u043b\u044c\u044e \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e DIY \u043f\u043e\u0433\u043e\u0434\u043d\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043d\u0435\u0435. \u041d\u043e \u044f \u043d\u0435 \u0441\u0442\u0430\u043b \u00ab\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u00bb \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u043e\u0433\u043e\u0434\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u043e\u0439 \u0430\u0432\u0438\u0430\u0446\u0438\u0438, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e <b>METAR<\/b> (METeorological Aerodrome Report) \u0438 <b>TAF<\/b> (TAF \u2014 Terminal Aerodrome Forecast). \u0412 \u0430\u0432\u0438\u0430\u0446\u0438\u0438 \u043e\u0442 \u043f\u043e\u0433\u043e\u0434\u044b \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u0436\u0438\u0437\u043d\u0438 \u0441\u043e\u0442\u0435\u043d \u043b\u044e\u0434\u0435\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u044b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u044b.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u042d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0432 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0430\u044d\u0440\u043e\u0434\u0440\u043e\u043c\u0435 \u0432 \u0432\u0438\u0434\u0435 <b>ATIS<\/b> (Automatic Terminal Information Service) \u0438 <b>VOLMET<\/b> (\u043e\u0442 \u0444\u0440\u0430\u043d\u0446. <i>vol<\/i> \u2014 \u043f\u043e\u043b\u0435\u0442 \u0438 <i>m\u00e9t\u00e9o<\/i> \u2014 \u043f\u043e\u0433\u043e\u0434\u0430). \u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0433\u043e\u0434\u0435 \u043d\u0430 \u0430\u044d\u0440\u043e\u0434\u0440\u043e\u043c\u0435, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043d\u0430 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 24-30 \u0447\u0430\u0441\u043e\u0432, \u043f\u0440\u0438\u0447\u0435\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0430\u044d\u0440\u043e\u0434\u0440\u043e\u043c\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438, \u043d\u043e \u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u044b ATIS \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u0430 \u0412\u043d\u0443\u043a\u043e\u0432\u043e:<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0; width: 100%; height: 400px; position: relative;\"><iframe src=\"https:\/\/w.soundcloud.com\/player\/?visual=true&amp;url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F900949135&amp;show_artwork=true\" style=\"border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;\" allowfullscreen allow=\"encrypted-media\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u044b VOLMET \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u0430 \u0412\u043d\u0443\u043a\u043e\u0432\u043e<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0; width: 100%; height: 400px; position: relative;\"><iframe src=\"https:\/\/w.soundcloud.com\/player\/?visual=true&amp;url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F900951163&amp;show_artwork=true\" style=\"border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;\" allowfullscreen allow=\"encrypted-media\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0442\u0430\u0441\u043a\u0430\u0442\u044c \u0441 \u0441\u043e\u0431\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u0441\u043a\u0430\u043d\u043d\u0435\u0440 \u0438\u043b\u0438 \u0442\u0440\u0430\u043d\u0441\u0438\u0432\u0435\u0440 \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u043e, \u0438 \u043c\u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u043e\u0442\u0430 \u0432 Telegram, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043f\u0440\u043e\u0433\u043d\u043e\u0437. \u0412\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e\u0434 \u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0435\u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e, \u0440\u0430\u0432\u043d\u043e \u043a\u0430\u043a \u0438 \u0433\u043e\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u044e\u044e Raspberry.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u044d\u043a\u044d\u043d\u0434\u0430 \u044f \u0440\u0435\u0448\u0438\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 <a href=\"http:\/\/slc.tl\/00oS2\">\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Selectel<\/a>. \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438\u0447\u0442\u043e\u0436\u043d\u043e \u043c\u0430\u043b\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0431\u043e\u0439\u0434\u0435\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e (\u043f\u043e \u043c\u043e\u0438\u043c \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u0430\u043c \u0432\u044b\u0439\u0434\u0435\u0442 22 \u0440\u0443\u0431\u043b\u044f \u0437\u0430 100 000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432).<\/p>\n<p>  <font color=\"#EB4247\"><\/p>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0431\u044d\u043a\u044d\u043d\u0434\u0430<\/h2>\n<p><\/font><br \/>  <font color=\"#EB4247\"><\/p>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/h3>\n<p><\/font><br \/>  \u0412 \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f <a href=\"http:\/\/slc.tl\/p3K2j\">my.selectel.ru<\/a> \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 <b>\u041e\u0431\u043b\u0430\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/b> \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/0p\/aa\/ud\/0paaud8djyjzpadqllnihebbdf0.png\"><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0437\u0434\u0430\u043d, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <b>\u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/b>:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/_i\/pn\/1h\/_ipn1hzj-j-ahv8vx3gdjipnknu.png\"><\/div>\n<p>  \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <b>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e<\/b> \u0438 \u0437\u0430\u0434\u0430\u0435\u043c \u0435\u0439 \u043d\u0443\u0436\u043d\u043e\u0435 \u0438\u043c\u044f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/7d\/rj\/4z\/7drj4zrviqhu4qo3s0dqhvdbul4.png\"><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f <b>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e<\/b> \u0443 \u043d\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/i2\/4u\/1-\/i24u1-u4xdbv3gantfasjxdnpi0.png\"><\/div>\n<p>  \u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430 \u043d\u0430 Python, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u043e\u0442\u0430 \u0432 Telegram. \u0420\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f, \u044f \u043d\u0435 \u0431\u0443\u0434\u0443 \u2014 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0435\u0441\u0442\u044c <a href=\"https:\/\/kb.selectel.ru\/docs\/selectel-cloud-platform\/serverless\/instructions\/how_to_create_a_telegram_bot\/\">\u0432 \u043d\u0430\u0448\u0435\u0439 \u0431\u0430\u0437\u0435 \u0437\u043d\u0430\u043d\u0438\u0439<\/a>. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0434\u043b\u044f \u043d\u0430\u0441 \u2014 \u0442\u043e\u043a\u0435\u043d \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0431\u043e\u0442\u0430.<\/p>\n<p>  <font color=\"#EB4247\"><\/p>\n<h3>\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u043a\u043e\u0434<\/h3>\n<p><\/font><br \/>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u041d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u0435\u0430\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0438 \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u043d\u044b\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0421\u0428\u0410 (\u0430\u043d\u0433\u043b. National Oceanic and Atmospheric Administration, NOAA). \u042d\u0442\u043e \u043d\u0430\u0443\u0447\u043d\u043e\u0435 \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 TXT.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0430 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 METAR (\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440):<\/p>\n<pre><code class=\"plaintext\">https:\/\/tgftp.nws.noaa.gov\/data\/observations\/metar\/stations\/&lt;\u043a\u043e\u0434 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u0430 \u043f\u043e ICAO&gt;.TXT<\/code><\/pre>\n<p>  \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u043c \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0412\u043d\u0443\u043a\u043e\u0432\u043e, \u0435\u0433\u043e \u043a\u043e\u0434 \u043f\u043e ICAO \u2014 <b>UUWW<\/b>. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 URL \u0432\u044b\u0434\u0430\u0441\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"plaintext\">2020\/08\/10 11:30 UUWW 101130Z 31004MPS 9999 SCT048 24\/13 Q1014 R01\/000070 NOSIG <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 \u0432\u0440\u0435\u043c\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u043f\u043e \u0413\u0440\u0438\u043d\u0432\u0438\u0447\u0443. \u0412\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 \u0441\u0432\u043e\u0434\u043a\u0430 \u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0433\u043e\u0434\u0435. \u041f\u0438\u043b\u043e\u0442\u044b \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u043e\u0439 \u0430\u0432\u0438\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e\u0439\u043c\u0443\u0442, \u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430:<\/p>\n<ul>\n<li><b>[UUWW]<\/b> \u2014 \u0412\u043d\u0443\u043a\u043e\u0432\u043e, \u0433\u043e\u0440\u043e\u0434 \u041c\u043e\u0441\u043a\u0432\u0430 (\u0420\u043e\u0441\u0441\u0438\u044f \u2014 RU);<\/li>\n<li><b>[101130Z]<\/b> \u2014 10-\u0439 \u0434\u0435\u043d\u044c \u043c\u0435\u0441\u044f\u0446\u0430, 11 \u0447\u0430\u0441\u043e\u0432 30 \u043c\u0438\u043d\u0443\u0442 \u043f\u043e \u0413\u0440\u0438\u043d\u0432\u0438\u0447\u0443;<\/li>\n<li><b>[31004MPS]<\/b> \u2014 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0435\u0442\u0440\u0430 310 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c 4 \u043c\/\u0441;<\/li>\n<li><b>[9999]<\/b> \u2014 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u044c 10 \u043a\u043c \u0438 \u0431\u043e\u043b\u0435\u0435;<\/li>\n<li><b>[SCT048]<\/b> \u2014 \u0440\u0430\u0441\u0441\u0435\u044f\u043d\u043d\u044b\u0435\/\u0440\u0430\u0437\u0431\u0440\u043e\u0441\u0430\u043d\u043d\u044b\u0435 \u043e\u0431\u043b\u0430\u043a\u0430 \u043d\u0430 \u0432\u044b\u0441\u043e\u0442\u0435 4800 \u0444\u0443\u0442\u043e\u0432 (~1584\u043c);<\/li>\n<li><b>[24\/13]<\/b> \u2014 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 24\u00b0C, \u0442\u043e\u0447\u043a\u0430 \u0440\u043e\u0441\u044b 13\u00b0C;<\/li>\n<li><b>[Q1014]<\/b> \u2014 \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (QNH) 1014 \u0433\u0435\u043a\u0442\u043e\u043f\u0430\u0441\u043a\u0430\u043b\u0435\u0439 (750 \u043c\u043c \u0440\u0442. \u0441\u0442.);<\/li>\n<li><b>[R01\/000070]<\/b> \u2014 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u0441\u0446\u0435\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u043b\u043e\u0441\u0435 01 \u2014 0,70;<\/li>\n<li><b>[NOSIG]<\/b> \u2014 \u0431\u0435\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <i>request<\/i> \u0438 <i>pytaf<\/i>:<\/p>\n<pre><code class=\"python\">from urllib import request import pytaf<\/code><\/pre>\n<p>  \u0423\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre><code class=\"python\">URL_METAR = &quot;https:\/\/tgftp.nws.noaa.gov\/data\/observations\/metar\/stations\/UUWW.TXT&quot; URL_TAF = &quot;https:\/\/tgftp.nws.noaa.gov\/data\/forecasts\/taf\/stations\/UUWW.TXT&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">def parse_data(code):     code = code.split('\\n')[1]     return pytaf.Decoder(pytaf.TAF(code)).decode_taf()<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a TAF (\u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0442\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u0435\u043d).<\/p>\n<pre><code class=\"plaintext\">https:\/\/tgftp.nws.noaa.gov\/data\/forecasts\/taf\/stations\/&lt;\u043a\u043e\u0434 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u0430 \u043f\u043e ICAO&gt;.TXT<\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0438 \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0432 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u0443 \u0412\u043d\u0443\u043a\u043e\u0432\u043e:<\/p>\n<pre><code class=\"plaintext\">2020\/08\/10 12:21 TAF UUWW 101050Z 1012\/1112 28003G10MPS 9999 SCT030 TX25\/1012Z TN15\/1103Z        TEMPO 1012\/1020 -TSRA BKN020CB        BECMG 1020\/1021 FEW007 BKN016        TEMPO 1021\/1106 -SHRA BKN020CB PROB40        TEMPO 1021\/1106 -TSRA BKN020CB        BECMG 1101\/1103 34006G13MPS <\/code><\/pre>\n<p>  \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 <b>TEMPO<\/b> \u0438 <b>BECMG<\/b>. TEMPO \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0433\u043e\u0434\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. BECMG \u2014 \u043f\u043e\u0433\u043e\u0434\u0430 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0430:<\/p>\n<pre><code class=\"plaintext\">TEMPO 1012\/1020 -TSRA BKN020CB<\/code><\/pre>\n<p>  \u0411\u0443\u0434\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c:<\/p>\n<ul>\n<li><b>[1012\/1020]<\/b> \u2014 \u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a \u0441 12 \u0434\u043e 20 \u0447\u0430\u0441\u043e\u0432 (\u043f\u043e \u0413\u0440\u0438\u043d\u0432\u0438\u0447\u0443);<\/li>\n<li><b>[-TSRA]<\/b> \u2014 \u0433\u0440\u043e\u0437\u0430 (TS = thunderstorm) \u0441 \u0434\u043e\u0436\u0434\u0435\u043c (RA = rain) \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438 (\u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441);<\/li>\n<li><b>[BKN020CB]<\/b> \u2014 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f (BKN = broken), \u043a\u0443\u0447\u0435\u0432\u043e-\u0434\u043e\u0436\u0434\u0435\u0432\u0430\u044f (CB = cumulonimbus) \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0432\u044b\u0441\u043e\u0442\u0435 2000 \u0444\u0443\u0442\u043e\u0432 (610 \u043c\u0435\u0442\u0440\u043e\u0432) \u043d\u0430\u0434 \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u043c\u043e\u0440\u044f.<\/li>\n<\/ul>\n<p>  \u0422\u0435\u0440\u043c\u0438\u043d\u043e\u0432, \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u0433\u043e\u0434\u043d\u044b\u0435 \u044f\u0432\u043b\u0435\u043d\u0438\u044f, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u0438 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0438\u0445 \u0441\u043b\u043e\u0436\u043d\u043e\u0432\u0430\u0442\u043e. \u041a\u043e\u0434 \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 TAF \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>  <font color=\"#EB4247\"><\/p>\n<h2>\u0417\u0430\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u0434 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e<\/h2>\n<p><\/font><br \/>  \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0437\u0440\u044f \u0432\u0440\u0435\u043c\u044f, \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u0431\u043e\u0442\u0430 \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <a href=\"https:\/\/github.com\/selectel\/cloud-telegram-bot\">cloud-telegram-bot<\/a>. \u0422\u0430\u043c \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 <i>requirements.txt<\/i> \u0438 <i>setup.py<\/i> \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432 \u043a\u043e\u0434\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043c\u043e\u0434\u0443\u043b\u044e <i>pytaf<\/i>, \u0442\u043e \u0435\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 <i>requirements.txt<\/i><\/p>\n<pre><code class=\"python\">pytaf~=1.2.1<\/code><\/pre>\n<p>  <\/p>\n<ul>\n<li>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e <i>bot\/tele_bot.py<\/i>. \u0423\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0441\u0435 \u043b\u0438\u0448\u043d\u0435\u0435 \u0438 \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0448 \u043a\u043e\u0434.<\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"python\">import os from urllib import request import telebot import pytaf   TOKEN = os.environ.get('TOKEN') URL_METAR = &quot;https:\/\/tgftp.nws.noaa.gov\/data\/observations\/metar\/stations\/UUWW.TXT&quot; URL_TAF = &quot;https:\/\/tgftp.nws.noaa.gov\/data\/forecasts\/taf\/stations\/UUWW.TXT&quot;   bot = telebot.TeleBot(token=TOKEN, threaded=False) keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True) keyboard.row('\/start', '\/get_metar', '\/get_taf')   def start(message):     msg = &quot;\u041f\u0440\u0438\u0432\u0435\u0442. \u042d\u0442\u043e \u0431\u043e\u0442 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0430\u0432\u0438\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u043f\u043e\u0433\u043e\u0434\u044b &quot; \\           &quot;\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 NOAA. \u0411\u043e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442 \u0412\u043d\u0443\u043a\u043e\u0432\u043e (UUWW).&quot;     bot.send_message(message.chat.id, msg, reply_markup=keyboard)   def parse_data(code):     code = code.split('\\n')[1]     return pytaf.Decoder(pytaf.TAF(code)).decode_taf()   def get_metar(message):     # Fetch info from server.     code = request.urlopen(URL_METAR).read().decode('utf-8')     # Send formatted answer.     bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)   def get_taf(message):     # Fetch info from server.     code = request.urlopen(URL_TAF).read().decode('utf-8')     # Send formatted answer.     bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)   def route_command(command, message):     &quot;&quot;&quot;     Commands router.     &quot;&quot;&quot;     if command == '\/start':         return start(message)     elif command == '\/get_metar':         return get_metar(message)     elif command == '\/get_taf':         return get_taf(message)   def main(**kwargs):     &quot;&quot;&quot;     Serverless environment entry point.     &quot;&quot;&quot;     print(f'Received: &quot;{kwargs}&quot;')     message = telebot.types.Update.de_json(kwargs)     message = message.message or message.edited_message     if message and message.text and message.text[0] == '\/':         print(f'Echo on &quot;{message.text}&quot;')         route_command(message.text.lower(), message) <\/code><\/pre>\n<p>  <\/p>\n<ul>\n<li>\u0423\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0432 ZIP-\u0430\u0440\u0445\u0438\u0432 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u043f\u0430\u043d\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. <\/li>\n<li>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <b>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/b> \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0430\u0440\u0445\u0438\u0432 \u0441 \u043a\u043e\u0434\u043e\u043c.<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ew\/j2\/ht\/ewj2ht2b09riz5ohil0v0nevlwe.png\"><\/div>\n<p>  <\/p>\n<ul>\n<li>\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0443 <i>tele_bot<\/i> (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 <i>.py<\/i> \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c) \u0438 \u044d\u043d\u0434\u043f\u043e\u0439\u043d\u0442-\u0444\u0443\u043d\u043a\u0446\u0438\u044e (\u0432 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u044d\u0442\u043e <i>main<\/i>). <\/li>\n<li>\u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <b>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f<\/b> \u043f\u0438\u0448\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <i>TOKEN<\/i> \u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0439 \u0442\u043e\u043a\u0435\u043d \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c-\u0431\u043e\u0442\u0430. <\/li>\n<li>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <b>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c<\/b>, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <b>\u0422\u0440\u0438\u0433\u0433\u0435\u0440\u044b<\/b>.<\/li>\n<li>\u0421\u0442\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c <b>HTTP-\u0437\u0430\u043f\u0440\u043e\u0441<\/b>, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c.<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vv\/_s\/3y\/vv_s3yndfs4c_daymvxptl_vwde.png\"><\/div>\n<p>  \u0423 \u043d\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f URL \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043b\u0438\u0448\u044c <a href=\"https:\/\/kb.selectel.ru\/docs\/selectel-cloud-platform\/serverless\/instructions\/how_to_create_a_telegram_bot\/#%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1-1-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-%D0%B1%D0%BE%D1%82%D0%B0-selectelserverless-bot\">\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u0435\u0431\u0445\u0443\u043a<\/a>. \u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043e\u0442\u0430 <a href=\"https:\/\/t.me\/SelectelServerless_bot\">@SelectelServerless_bot<\/a> \u0432 Telegram \u0438 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0431\u043e\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"plaintext\">\/setwebhook &lt;you bot token&gt; &lt;public URL of your function&gt;<\/code><\/pre>\n<p>  <font color=\"#EB4247\"><\/p>\n<h2>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/h2>\n<p><\/font><br \/>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0442\u043e \u0432\u0430\u0448 \u0431\u043e\u0442 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430\u0447\u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0432\u043e\u0434\u043a\u0443 \u0430\u0432\u0438\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0433\u043e\u0434\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0435.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/wo\/aq\/xa\/woaqxakxbko7dug_sgjhhcwus2s.jpeg\" width=\"40%\"><\/div>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u0434\u0430\u0436\u0435 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0441\u0430\u043c\u0443\u044e \u0442\u043e\u0447\u043d\u0443\u044e \u043f\u043e\u0433\u043e\u0434\u0443 \u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u0438\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430.<\/p>\n<p>  <a href=\"http:\/\/slc.tl\/YVpKF\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1h\/dq\/mj\/1hdqmj1bvguax5hnugdz0ci_jbw.jpeg\"><\/div>\n<p><\/a><\/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\/company\/selectel\/blog\/521038\/\"> https:\/\/habr.com\/ru\/company\/selectel\/blog\/521038\/<\/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\/company\/selectel\/blog\/521038\/\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/eh\/sj\/ts\/ehsjtss-vagjx3twi5af7za1vew.png\"><\/div>\n<p>  \u0421\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u0433\u043e\u0434\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u0432\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u0437 \u043d\u0438\u0445 \u0432\u0435\u0440\u0438\u0442\u044c? \u041a\u043e\u0433\u0434\u0430 \u044f \u0441\u0442\u0430\u043b \u0447\u0430\u0441\u0442\u043e \u0435\u0437\u0434\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u0435, \u043c\u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043f\u043e\u0433\u043e\u0434\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0432 \u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u0433\u0434\u0435 \u044f \u043a\u0430\u0442\u0430\u044e\u0441\u044c.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0439 \u043c\u044b\u0441\u043b\u044c\u044e \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e DIY \u043f\u043e\u0433\u043e\u0434\u043d\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043d\u0435\u0435. \u041d\u043e \u044f \u043d\u0435 \u0441\u0442\u0430\u043b \u00ab\u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u00bb \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u043e\u0433\u043e\u0434\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u043e\u0439 \u0430\u0432\u0438\u0430\u0446\u0438\u0438, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e <b>METAR<\/b> (METeorological Aerodrome Report) \u0438 <b>TAF<\/b> (TAF \u2014 Terminal Aerodrome Forecast). \u0412 \u0430\u0432\u0438\u0430\u0446\u0438\u0438 \u043e\u0442 \u043f\u043e\u0433\u043e\u0434\u044b \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u0436\u0438\u0437\u043d\u0438 \u0441\u043e\u0442\u0435\u043d \u043b\u044e\u0434\u0435\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u044b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u044b.  <\/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-310663","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/310663","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=310663"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/310663\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=310663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=310663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=310663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}