
рдирдорд╕реНрдХрд╛рд░, рдЦрд╛рдмрд░реЛрд╡рдЪрди!
рдЖрдЬ рдЖрдк рдПрдХ рд▓реЗрдЦ рдкрдврд╝реЗрдВрдЧреЗ рдЬреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ .NET рдХреЛрд░ рдкрд░ C # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдмреЙрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдФрд░ рдЗрд╕реЗ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐, рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг, рддрд░реНрдХ рд▓рд┐рдЦрдирд╛ рдФрд░ рдПрдХ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдмреЙрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрдИ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред
рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕
рдпрд╣ рд╕рдм рдПрдХ рдиреАрдВрдж рдХреА рдЧрд┐рд░рддреА рд░рд╛рдд рдХреЛ рд╢реБрд░реВ рд╣реБрдЖ рдЬреЛ рдореИрдВрдиреЗ рдбрд┐рд╕реНрдХреЛрд░реНрдб рд╕рд░реНрд╡рд░ рдкрд░ рдмрд┐рддрд╛рдпрд╛ред рдЪреВрдБрдХрд┐ рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдЬреБрдбрд╝ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЙрдирдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдкрд╛рда рдЪреИрдирд▓ "рдЬреЙрдмреНрд╕" рдХреЛ рдкрд╛рдХрд░, рдореЗрд░реА рджрд┐рд▓рдЪрд╕реНрдкреА рдмрди рдЧрдИ, рдЗрд╕реЗ рдЦреЛрд▓рд╛, рдФрд░ рдЙрди рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдореЗрдВ рд╕реЗ рдкрд╛рдпрд╛ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рдереЗ, рдпрд╣ рд╣реИ:
"рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (рдмреЙрдЯ рдбреЗрд╡рд▓рдкрд░)
рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ:
- рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЬреНрдЮрд╛рди;
- рд╕реНрд╡рдпрдВ рд╕реАрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
рд╕реБрдЭрд╛рд╡:
- рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
- DISCORD рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЬреНрдЮрд╛рдиред
рдЙрджреНрджреЗрд╢реНрдпреЛрдВ:
- рдмреЙрдЯ рд╡рд┐рдХрд╛рд╕;
- рдмреЙрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ред
рдЖрдкрдХрд╛ рд▓рд╛рдн:
- рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдорд░реНрдерди рдФрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛;
- рдЯреАрдо рд╡рд░реНрдХ рдХрд╛ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;
- рдореМрдЬреВрджрд╛ рдХреМрд╢рд▓ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ред тАЭ
рдпрд╣ рддреБрд░рдВрдд рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рд╣рд╛рдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЖрдкрд╕реЗ рдХрд┐рд╕реА рднреА рджрд╛рдпрд┐рддреНрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдореЗрдВ рд╢рд╛рдирджрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рд▓рд┐рдЦрд╛, рдФрд░ рдЙрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛, рдЬреЛ рд╡рд┐рд╢реНрд╡ рдХреЗ рдЯреИрдВрдХ рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЖрдВрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдПрдЧрд╛ред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг
DiscrodрдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рдмреЙрдЯ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдбрд┐рд╕реНрдХреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдЦрд╛рддреЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ
- "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдЯреИрдм рдореЗрдВ, "рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдмреЙрдЯ рдХреЛ рдирд╛рдо рджреЗрдВ
- рдЕрдкрдиреЗ рдмреЙрдЯ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдХреЗ рдФрд░ "рд╕реЗрдЯрд┐рдВрдЧ" рд╕реВрдЪреА рдореЗрдВ "рдмреЙрдЯ" рдЯреИрдм рдкрд╛рдХрд░ рдмреЙрдЯ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
- рдХрд╣реАрдВ рдЯреЛрдХрди рдмрдЪрд╛рдУ
рдпреБрджреНрдз рд╕рдВрдмрдВрдзреАрдЧреЗрдоWargaming API рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Wargaming рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рднреА рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рднреА, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
- рд╣рдо рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ Wargaming рдЦрд╛рддреЗ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ
- "рдореЗрд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдкрд░ рдЬрд╛рдПрдВ рдФрд░ "рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдо рдФрд░ рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рд╕рд╣реЗрдЬреЗрдВ
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░рдкрд╕рдВрдж рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред рдХреЛрдИ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ, рдХреЛрдИ рд░рд╛рдЗрдбрд░, рдХреЛрдИ рдЖрдо рддреМрд░ рдкрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рд╡рд┐рдо рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реИ (рдлрд┐рд░ рднреА, рдЕрд╕рд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗрд╡рд▓ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбрд┐рд╕реНрдХ рдПрдкреАрдЖрдИ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ C # рд▓рд╛рдЗрдмреНрд░реЗрд░реА "DSharpPlus" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдпрд╛ рддреЛ NuGet рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рд╕реНрд╡рдпрдВ рднрдВрдбрд╛рд░ рд╕реЗ рд╕реНрд░реЛрдд рдПрдХрддреНрд░ рдХрд░рдХреЗред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдиреВрдЧреЗрдЯ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдпрд╛ рднреВрд▓ рдЧрдП рд╣реИрдВредрд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ - рдиреБрдЧреЗрдЯ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрдореЗрдВрдЯ;
- рд╕рдореАрдХреНрд╖рд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ "DSharpPlus" рджрд░реНрдЬ рдХрд░реЗрдВ;
- рд╣рдо рдврд╛рдВрдЪреЗ рдХрд╛ рдЪрдпрди рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ;
- рд▓рд╛рдн!
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдмреЙрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд░реНрддрдиреА рдХрд╛ рддрд░реНрдХ

рд╣рдо рдЖрд╡реЗрджрди рдХреЗ рдкреВрд░реЗ рддрд░реНрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдореИрдВ рдХреЗрд╡рд▓ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджреЗрд╢ рдЕрд╡рд░реЛрдзрди рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдФрд░ рд╡реЙрд░рдЧрд╛рдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
Discord bot рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рд╕реНрдерд┐рд░ async рдЯрд╛рд╕реНрдХ MainTask (рд╕реНрдЯреНрд░рд┐рдВрдЧ [] args);
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрди рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
MainTask(args).ConfigureAwait(false).GetAwaiter().GetResult();
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
discord = new DiscordClient(new DiscordConfiguration { Token = token, TokenType = TokenType.Bot, UseInternalLogHandler = true, LogLevel = LogLevel.Debug });
рдЬрд╣рд╛рдВ рдЯреЛрдХрди рдЖрдкрдХреЗ рдмреЙрдЯ рдХрд╛ рдЯреЛрдХрди рд╣реИред
рдлрд┐рд░, рд▓реИрдореНрдмреНрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдХрдорд╛рдВрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдмреЙрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
discord.MessageCreated += async e => { string message = e.Message.Content; if (message.StartsWith("&")) { await e.Message.RespondAsync(тАЬHello, тАЭ + e.Author.Username); } };
рдЬрд╣рд╛рдВ e.Author.Username - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рдЖрдк рдХреЛрдИ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ рдЬреЛ & рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмреЙрдЯ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реЗрдЧрд╛ред
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рд╡реЗрдЯ рдбрд┐рд╕реНрдХреЙрд░реНрдб рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред ConnectAsync (); рдФрд░ рдЯрд╛рд╕реНрдХ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВред рдбреЗрд▓рдп (-1);
рдпрд╣ рдЖрдкрдХреЛ рдореБрдЦреНрдп рдереНрд░реЗрдб рдХреЛ рдЙрдард╛рдП рдмрд┐рдирд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЕрдм рдЖрдкрдХреЛ Wargaming API рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - CURL рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦреЗрдВ, JSON рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рд╡рд╣рд╛рдВ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЙрди рдкрд░ рд╣реЗрд░рдлреЗрд░ рдХрд░реЗрдВред
WargamingAPI рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг public Player FindPlayer(string searchNickname) {
рдЪреЗрддрд╛рд╡рдиреА! рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ рд╕рднреА рдЯреЛрдХрди рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдбрд╝рд╛рдИ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ! рдПрдХ рдиреНрдпреВрдирддрдо - рдбрд┐рд╕реНрдХреЙрд░реНрдб рдЗрди рдЯреЛрдХрди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ рдЬрдм рд╡реЗ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдЕрдзрд┐рдХрддрдо - рдмреЙрдЯ рд╕рд╛рдЗрдмрд░ рдЕрдкрд░рд╛рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рд╡реАрдкреАрдПрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ 24/7 рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЬрдм рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмреЙрдЯ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХрд╛ рдмреЙрдЯ рд╕реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрдИ VPS рд╕рд░реНрд╡рд░ рдореМрдЬреВрдж рд╣реИрдВ, рджреЛрдиреЛрдВ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░, рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓рд┐рдирдХреНрд╕ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЧреБрдирд╛ рд╕рд╕реНрддрд╛ рд╣реИред
рдбрд┐рд╕реНрдХреЙрд░реНрдб рд╕рд░реНрд╡рд░ рдкрд░, рдореБрдЭреЗ vscale.io рджреНрд╡рд╛рд░рд╛ рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рдереА, рдФрд░ рдореИрдВрдиреЗ рддреБрд░рдВрдд рдЙрдмрдВрдЯреВ рдкрд░ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдмрдирд╛рдпрд╛ рдФрд░ рдмреЙрдЯ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ред рдореИрдВ рдпрд╣ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рд╛рдЗрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рддреБрд░рдВрдд рдмреЙрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИ ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдмрд┐рдЯ рдХреЛ GitHub рдФрд░ Git рдХреА рддрд░рд╣ Git рд╕рд░реНрд╡рд┐рд╕ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕реЗ VPS рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд▓реЛрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛, рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ, рдЕрдкрдиреЗ bot рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдХрдВрд╕реЛрд▓ рд╣реЛрдЧрд╛, рдХреЛрдИ GUI рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред
рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рдбреЙрдЯрдиреЗрдЯ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
- рдмрд┐рд▓реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди: dotnet рдмрд┐рд▓реНрдб name_project.sln -c рд░рд┐рд▓реАрдЬрд╝
- рдирд┐рд░реНрдорд┐рдд DLL рдкрд░ рдЬрд╛рдПрдВ;
- рдбреЙрдЯрдиреЗрдЯ name_of_file.dll
рдмрдзрд╛рдИ! рдЖрдкрдХрд╛ рдмреЙрдЯ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмреЙрдЯ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрдВрд╕реЛрд▓ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рд╡реАрдкреАрдПрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд░реНрд╡рд░ рд░рд┐рдмреВрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдмреЙрдЯ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рд╣реИрдВред рдпреЗ рд╕рднреА рд╕рд░реНрд╡рд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ:
- /Etc/init.d рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди рдЬреЛрдбрд╝реЗрдВ
- рдПрдХ рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдВ рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╢реБрд░реВ рд╣реЛрдЧреАред
рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдмрд╛рдд рдирд╣реАрдВ рдХрд░рддрд╛, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣ рдХрд╛рд░реНрдпрднрд╛рд░ рд╕рдВрднрд╛рд▓рд╛ред рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдмреЙрдЯ рд╡рд┐рдХрд╛рд╕ рдЕрдиреБрднрд╡ рдерд╛, рдФрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕реА # рдореЗрдВ рдирдпрд╛ рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
Discord - рд╕рд░реНрд╡рд░ рд╕реЗ рд▓рд┐рдВрдХред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ Wargaming рдЦреЗрд▓ рдЦреЗрд▓рддреЗ рд╣реИрдВредрдбрд┐рд╕реНрдХреЛрд░реНрдб рдмреЙрдЯ рд╕реНрдерд┐рдд рд╣реИ рдЬрд╣рд╛рдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВредDSharpPlus рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд▓рд┐рдВрдХредрдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!