Schemaverse рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдмреЙрдЯ рд▓рд┐рдЦрдирд╛

рдЫрд╡рд┐ рдПрдХ рд╣рдм рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА SQL рдЧреЗрдо рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рд╕рднреА рд╡реНрдпрд╕реНрдд рдерд╛ рдФрд░ рдХреЗрд╡рд▓ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рджреБрд░реНрдШрдЯрдирд╛ рдХреЗ рдХрд╛рд░рдг, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреАрдорд╛ рдЪреБрдирд╛ рдЬреЛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмрд░ рдкрд░ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА, рдореИрдВрдиреЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

var config = require('./config.js'); // Postgres connection var pg = require('pg'), conn = "pg://"+config.username+":"+config.password+"@db.schemaverse.com:5432/schemaverse"; var UserModel = require('./models/user'); var CommandProcessor = require('./command_processor'); pg.connect(conn, function(err, client) { if (!err){ var userModel = new UserModel.constructor(client); CommandProcessor(userModel); } else { console.log(err); } }); 

рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддрд╛рдХрд┐ рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреБрдЫ рдЖрдВрдХрдбрд╝реЗ рджреЗрдЦ рд╕рдХреЗрдВ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдХрдорд╛рдВрдб рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рд╛ред
рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрд░рдВрднрд┐рдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдЧреНрд░рд╣реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдЦрдирд┐рдХ / рдЖрдХреНрд░рдордгрдХрд╛рд░рд┐рдпреЛрдВ / рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╣ рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рд╕рднреА рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдИрдВрдзрди рднрд░рдиреЗ / рдЙрдиреНрдирдпрдиред
рдпрд╣ рдПрдХ рдореЛрдбрд╝-рдЖрдзрд╛рд░рд┐рдд рд░рдгрдиреАрддрд┐ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕ рдХрджрдо рдХреА рдЕрд╡рдзрд┐ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЪрд╛рд▓ рдкреВрд░реА рд╣реБрдИ рд╣реИ, рдкрд┐рдЫрд▓реЗ рдЪрд╛рд▓ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред рдирдИ рдЪрд╛рд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЬрд╣рд╛рдЬреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЯрд┐рдХ рдЗрд╡реЗрдВрдЯ рдореЗрдВ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдирдП рдЧреНрд░рд╣ рдХреЗ рдХрдмреНрдЬреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред рдЧреНрд░рд╣ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдИрдВрдзрди рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпрд╣ рдЦреЗрд▓ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рдВрд╕рд╛рдзрди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде, рд╕рднреА рдЙрдбрд╝рд╛рди рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдФрд░ рдЧрддрд┐ рдХреЛ рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдирдП рдЧреНрд░рд╣ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕реЗ рдЧреНрд░рд╣реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯрд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИред

 var tick = function(){ repair_damaged(); create_miners(); create_attackers(); go_to_conqueror(); } //constructor user.on(tick); 

рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЗрд╕ рд╕рдм рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдХрдорд╛рдВрдбрдкреНрд░реЛрд╕реЗрд╕рд░ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдордп рдЧреЗрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рд╕рдордп, рдЖрдк рд╕рдорд░реНрдерд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдореИрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдореБрдЭреЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдореИрдк рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрдм рдФрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╕рд░реНрд╡рд░ рдмрдирд╛рддреЗ рд╣реИрдВред

 var app = require('http').createServer(handler), io = require('socket.io').listen(app, { log: false }); 

рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рдЯрд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреА рднреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рдХрд┐ рдореИрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрд░реНрдерд╛рдд рдПрдХ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреНрд▓рд╛рдЗрдВрдЯред
рдореМрдЬреВрджрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рднреА рдмреЗрдбрд╝реЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдерд╛ред

рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдЫрд╡рд┐
рдирд┐рдХрдЯ рдЖрдиреЗ рдкрд░ рдореИрдВрдиреЗ рдФрд░ рдЧреНрд░рд╣ рдХрд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЬрд╣рд╛рдЬреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рдХрд┐рдП рдЧрдП рдереЗред

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

 get_map_base64( data.x, data.y, data.w, data.h, data.zoom, data.render_planets, data.render_ships, function(img){ socket.emit('draw', img); } ); 

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рдЬрд╣рд╛рдЬреЛрдВ рдпрд╛ рдХреЗрд╡рд▓ рдЧреНрд░рд╣реЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред

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

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ - https://github.com/peinguin/schemaverse_bot

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


All Articles