рдЯреЗрд▓реАрдЧреНрд░рд╛рдо - рдмреЙрдЯ | рдкреВрд░реНрдг рдореЗрдиреВ

рдЫрд╡рд┐

рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рдПрдХ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЬреАрд╡рди рдореЗрдВ, рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рдордЭ рд╣реИ рдХрд┐ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдкреВрд░реНрдг рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдШрд╛рддрдХ рд╣реИред

рдХреЗ рдмрд╛рдж рд╕реЗ:

рдП) рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ
рдмреА) рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ *

рдХрд┐рд╕реА рдиреЗ рднреА, "/ рдЯреАрдо" рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА

рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рд░


рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ - рдХрд╛рд░реНрдп рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХреИрд╕реЗред рдкреВрд░реА рд╕рдорд╕реНрдпрд╛ рдПрдкреАрдЖрдИ рдореЗрдВ рд╣реА рд╣реИ , рдЕрд░реНрдерд╛рддреН рдЕрджреНрдпрддрди рд╡рд╕реНрддреБ рдореЗрдВ ред
рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░: рдЧреЗрдЯрдЕрдк рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рдЖрдкрдХреЛ рдПрдХ рдЕрдкрдбреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдорд┐рд▓реЗрдЧрд╛, рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ! рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЖрдЦрд┐рд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ рдХреИрдЪ рд╣реИ
рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕реБрдЦрдж-рд╕реБрдЦрдж рдирд┐рд╖реНрдХрд░реНрд╖ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ - рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдмрд┐рдирд╛, рд╡реЗрдмрд╣реВрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрд░реЛрдз, рдЖрдкрдХреЗ рд▓рд┐рдП рдирд╣реАрдВ ...

рдареАрдХ рд╣реИ, рд╣рдо рдЦреБрдж рдХреЛ рдзреЛрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рд▓рд░реНрдирд┐рдВрдЧ рдХреЛрдб рд▓рд┐рдЦрдирд╛


рдЙрдирдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫреЛрдЯрд╛ рд╡рд░реНрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдирдИ! рдЕрдм рдЧреАрдереВрдм рдкрд░)

рдпрджрд┐ рдЖрдк рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рддреБрд░рдВрдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣рд╛рдВ рдПрдХ рднреНрд░рдордг рд╣реИред

рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛


рд╡рд░реНрдЧ рдПрдХ рдЕрдиреБрд░реЛрдз рдЕрдиреБрд░реЛрдз рдмрдирд╛рддрд╛ рд╣реИ
рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛: рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдмрдирд╛рдХрд░ рдореЗрдиреВ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдЧрд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрд▓ рдкрд░, bam, рдФрд░ рд╡рд╣ "рдореЗрдиреВ" рдореЗрдВ рд╣реИред
рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдЕрд╡рдзрд╛рд░рдгрд╛, рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ ... рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдмреЙрдЯ рдХреА рдкреВрд░реА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЗрдиреВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмреАрдЪ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ (рдЖрдк рдПрдВрдбреНрд░реЙрдЗрдб рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рджреГрд╢реНрдп рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЬрдм рдмреЙрдЯ рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЗрдиреВ" рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╡рд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдиреВ "рд╕реЗрдЯрд┐рдВрдЧреНрд╕", "рд╕реВрдЪрдирд╛", рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмреЙрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдереЛрдбрд╝реА рдмрджрд▓ рдЬрд╛рддреА рд╣реИ:

рдкрд╣рд▓реЗ, рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреБрд░реЛрдз рдореМрдЬреВрдж рд╣реИ:

рд╣рд╛рдБ) рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рдЪрд▓рд╛рдПрдБ
NO) рд╣рдо "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореЗрдиреВ" рдореЗрдВ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ, рд╣рдо рдЙрдкрд▓рдмреНрдз рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред

* рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рд░ рдХреЛ рдЦрдЯрдЦрдЯрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЪрд▓реЛ рдЬрд╛рд░реА рд╣реИ ..?


рдЪрд▓реЛ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдореНрдкрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (" рдХрдВрдкреЛрдЬрд╝рд░.рдЬрд╕рди рдмрдирд╛рдПрдВ", рдлрд┐рд░ рдиреАрдЪреЗ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ, рдСрдл рд▓рд╛рдЗрди рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ)

{ "require" : { "s0d3s/tg-long-req": ">=1" } } 

рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

 include_once('path/to/autoload.php'); use TgLongReq\TgLongReq; 

рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ)

 include_once('TgLongReq.php'); use TgLongReq\TgLongReq; 

рдПрдХ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдирд╛

 function SOMTH($tg_res, $long_req_obj, $tab_key){ echo "EveryForEveryone"; return; } $BOT_FUNC_ASSO_TAB = arrray("ECHO_SOMETHING" => "SOMTH"); // -      ,  -  -\  $tgreq = new TgLongReq ( $usr_id, //(STR) -id  $BOT_FUNC_ASSO_TAB, //(ARRAY) $BOT_req_dir , //[OPT](STR) $tapi, //[OPT](ANY*) $result //[OPT](ANY**) ); // *  ,    $this->tg_api // **  ,      

рдПрдХ рдЕрдиреБрд░реЛрдз, рдЪреЗрдХ рдЖрдИрдЯреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛

 $tgreq -> ReqCreate('SOMTH');//  if($tgreq -> ReqCheck()){ // ,   ,       $tgreq -> ReqHand();// ,   } 

рд╣рд┐рдбреЗрди рдФрд░ рдЯрд╛рдЗрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рд╕рд╣реЗрдЬреЗрдВ:

 $tgreq -> SaveToTemp('HiHabr');//  ,    json- 

рдмрд╣рд╛рд▓:

 $tgreq -> GetFromTemp(false);//  -    ,    // ,    SaveToTemp() 

рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдкрд░рд┐рдгрд╛рдо

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ [GetFromTemp (), GetError (), ReCCheck () рдФрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░] рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ:

 /*$function_result = array( 'func_res' =>   'error' =>true,    'err_discript' => ,     ); */ 

рдмрдЧ

рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди [GetFromTemp (), GetError (), ReCCheck () рдФрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде] рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдирд┐рдореНрди рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 $error_arr = $tgreq -> GetError(); /*$error_arr = array( 'error' =>true,    'err_discript' => ,     ); */ 

рд╕рдм рдЗрдХрдЯреНрдард╛ рд╣реЛ рдЧрдП, рдЬрд╛рдУ!


рд╣рдо рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдпрджрд┐ рдирд╣реАрдВ -% рд▓реЗрдЦ %, рдЖрдЗрдЯрдо рддрдХ рдкрдврд╝реЗрдВ " рдмреЙрдЯ рдХреЛрдб рд▓рд┐рдЦрдирд╛ " - рдХрд┐рд╕реА рд╡рд┐рд╖рдп рдкрд░ Google рдореЗрдВ рдкрд╣рд▓реА рдХрдбрд╝реА, рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ tg рдореЗрдВ рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ, рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдЙрд╕реЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ред рдпрджрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдмрд╣реВрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ (~ рдирдпрд╛! рд╕рдорд╛рдзрд╛рди "https рдХреЗ рд╕рд╛рде" рд╕рдорд╕реНрдпрд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░)ред

рд╣рдо рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ "botmain.php" (рдореБрдЦреНрдп рдореЗрдиреВ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг) рдФрд░ "varfunc.php" (рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдп)ред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдЯреЗрд▓реАрдЧреНрд░рд╛рдо-рдмреЙрдЯ-рдПрд╕рдбреАрдХреЗ (рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХреА рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж;) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ :

composer.json
 { "require" : { "irazasyed/telegram-bot-sdk": ">=3", "s0d3s/tg-long-req": ">=1", "php":">=7.1" } } 


рдЕрдЧрд▓рд╛, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ ...

 >composer install ... 

UPD : Habr рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдкреНрд░рд╛рдкреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрдкрд╛рджрди рдХреЗ рдмрд┐рдирд╛ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЬреАрдердм рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред

рдореВрд▓ | рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдорддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рдкрд╕рдВрджреАрджрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi459604/


All Articles