ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ ืžื™ื˜ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ืึท ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ

ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ ืžื™ื˜ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ืึท ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ

ื”ืขืœื ื›ืึทื‘ืจืึธื•ื•ื™ื˜ืขืก!

ื”ื™ื™ึทื ื˜ ืื™ืจ ื•ื•ืขื˜ ื–ืขืŸ ืึทืŸ ืึทืจื˜ื™ืงืœ ื•ื•ืึธืก ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืื™ืจ ื•ื•ื™ ืฆื• ืฉืึทืคึฟืŸ ืึท ื‘ืึธื˜ ื ื™ืฆืŸ C # ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ ืื•ืŸ ื•ื•ื™ ืฆื• ืœื•ื™ืคืŸ ืขืก ืื•ื™ืฃ ืึท ื•ื•ื™ื™ึทื˜ ืกืขืจื•ื•ืขืจ.

ื“ืขืจ ืึทืจื˜ื™ืงืœ ื•ื•ืขื˜ ืฆื•ื ื•ื™ืคืฉื˜ืขืœื  ื–ื™ืš ืคื•ืŸ ืึท ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜, ืึท ืคึผืจื™ืคึผืขืจืึทื˜ืึธืจื™ ื‘ื™ื ืข, ืฉืจื™ื™ื‘ืŸ ืœืึธื’ื™ืง ืื•ืŸ ื˜ืจืึทื ืกืคืขืจื™ื ื’ ื“ื™ ื‘ืึธื˜ ืฆื• ืึท ื•ื•ื™ื™ึทื˜ ืกืขืจื•ื•ืขืจ.

ืื™ืš ื”ืึธืคึฟืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ื•ื•ืขื˜ ื”ืขืœืคืŸ ืคื™ืœืข ื‘ื™ื’ื™ื ืขืจื–.

ืคึผืจืขื”ื™ืกื˜ืึธืจื™

ืขืก ืึทืœืข ืกื˜ืึทืจื˜ืขื“ ืื•ื™ืฃ ืื™ื™ืŸ ืฉืœืึธืฃ ื”ืึทืจื‘ืกื˜ ื ืึทื›ื˜ ื•ื•ืึธืก ืื™ืš ืคืืจื‘ืจืื›ื˜ ืื•ื™ืฃ ื“ื™ ื“ื™ืกืงืึธืจื“ ืกืขืจื•ื•ืขืจ. ื–ื™ื ื˜ ืื™ืš ื‘ื™ืŸ ืœืขืฆื˜ื ืก ื’ืขืงื•ืžืขืŸ ืฆื• ืื™ื, ื”ืึธื‘ ืื™ืš ืื™ื ืึธื ื’ืขื”ื•ื™ื‘ืŸ ืœืขืจื ืขืŸ ืื•ื™ืฃ ืื•ืŸ ืึทืจืึธืคึผ. ืื™ืš ื”ืึธื‘ ื’ืขืคึฟื•ื ืขืŸ ื“ืขื ื˜ืขืงืกื˜ ืงืึทื ืึทืœ "ื•ื•ืึทืงืึทื ืกืขืก", ืื™ืš ื‘ื™ืŸ ืื™ื ื˜ืขืจืขืกื™ืจื˜, ื’ืขืขืคื ื˜ ืขืก, ืื•ืŸ ื’ืขืคึฟื•ื ืขืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืึธืคืคืขืจืก ื•ื•ืึธืก ื”ืึธื‘ืŸ ื ื™ืฉื˜ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืžื™ืจ, ื“ื™ ื–ืขื ืขืŸ:

"ืคึผืจืึธื’ืจืึทืžืขืจ (ื‘ืึธื˜ ื“ืขื•ื•ืขืœืึธืคึผืขืจ)
ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ:

  • ื•ื•ื™ืกืŸ ืคื•ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ;
  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื–ื™ืš-ืœืขืจื ืขืŸ.

ะŸะพะถะตะปะฐะฝะธั:

  • ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ื™ ืงืึธื“ ืคื•ืŸ ืื ื“ืขืจืข ืžืขื ื˜ืฉืŸ;
  • ื•ื•ื™ืกืŸ ืคื•ืŸ DISCORD ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™.

ื˜ืึทืกืงืก:

  • ื‘ืึธื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’;
  • ืฉื˜ื™ืฆืŸ ืื•ืŸ ื•ื™ืฉืึทืœื˜ ืคื•ืŸ ื“ื™ ื‘ืึธื˜.

ื“ื™ื™ืŸ ื ื•ืฅ:

  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ืฉื˜ื™ืฆืŸ ืื•ืŸ ื”ืฉืคึผืขื” ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืจ ื•ื•ื™;
  • ื‘ืึทืงื•ืžืขืŸ ื“ืขืจืคืึทืจื•ื ื’ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืื™ืŸ ืึท ืงืึธืœืขืงื˜ื™ื•ื•;
  • ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืื•ืŸ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืกืงื™ืœื–.


ื“ืึธืก ื”ืึธื˜ ืžื™ืš ื’ืœื™ื™ืš ืคึฟืึทืจืื™ื ื˜ืขืจืขืกื™ืจื˜. ื™ืึธ, ื–ื™ื™ ื”ืึธื‘ืŸ ื ื™ืฉื˜ ื‘ืึทืฆืึธืœื˜ ืคึฟืึทืจ ื“ืขื ืึทืจื‘ืขื˜, ืึธื‘ืขืจ ื–ื™ื™ ื”ืึธื‘ืŸ ื ื™ืฉื˜ ืคืืจืœืื ื’ื˜ ืงื™ื™ืŸ ืึทื‘ืœืึทื’ื™ื™ืฉืึทื ื– ืคื•ืŸ ืื™ืจ, ืื•ืŸ ืขืก ื•ื•ืขื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื™ื‘ืขืจื™ืง ืื™ืŸ ื“ื™ ืคึผืึธืจื˜ืคืขืœ. ื“ืขืจื™ื‘ืขืจ, ืื™ืš ื’ืขืฉืจื™ื‘ืŸ ืฆื• ื“ื™ ืกืขืจื•ื•ืขืจ ืึทื“ืžื™ืŸ, ืื•ืŸ ืขืจ ื’ืขื‘ืขื˜ืŸ ืžื™ืจ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ื‘ืึธื˜ ื•ื•ืึธืก ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ืฉืคึผื™ืœืขืจ ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื™ืŸ World of Tanks.

ื“ื™ ืคึผืจืขืคึผืจืึทื˜ืึธืจื™ ืคืึทืกืข

ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ ืžื™ื˜ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ืึท ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ
ื“ื™ืกืงืจืึธื“
ืื™ื™ื“ืขืจ ืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืฉืจื™ื™ื‘ืŸ ืื•ื ื“ื–ืขืจ ื‘ืึธื˜, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ืขืก ืคึฟืึทืจ ื“ื™ืกืงืึธืจื“. ืื™ืจ ื“ืึทืจืคึฟืŸ:

  1. ืงืœืึธืฅ ืื™ืŸ ืฆื• ื“ื™ ื“ื™ืกืงืึธืจื“ ื—ืฉื‘ื•ืŸ ะฟะพ ััั‹ะปะบะต
  2. ืื™ืŸ ื“ื™ "ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก" ืงื•ื•ื™ื˜ืœ, ื’ื™ื˜ ื“ื™ "ื ื™ื• ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ" ืงื ืขืคึผืœ ืื•ืŸ ื ืึธืžืขืŸ ื“ื™ ื‘ืึธื˜
  3. ื‘ืึทืงื•ืžืขืŸ ืึท ื‘ืึธื˜ ืกื™ืžืขืŸ ื“ื•ืจืš ืœืึธื’ื™ื ื’ ืื™ืŸ ื“ื™ื™ืŸ ื‘ืึธื˜ ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ "ื‘ืึธื˜" ืงื•ื•ื™ื˜ืœ ืื™ืŸ ื“ื™ "ืกืขื˜ื˜ื™ื ื’ืก" ืจืฉื™ืžื”
  4. ื”ื™ื˜ ื“ืขื ืกื™ืžืขืŸ ืขืจื’ืขืฅ

Wargaming

ืื•ื™ืš, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ Wargaming ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึทืงืกืขืก ืฆื• ื“ื™ Wargaming API. ืื•ื™ืš ื“ืึธ ืื™ื– ืึทืœืฅ ืคึผืฉื•ื˜:

  1. ืงืœืึธืฅ ืื™ืŸ ืฆื• ื“ื™ื™ืŸ Wargaming ื—ืฉื‘ื•ืŸ ื“ื•ืจืš ื“ืขื ืœื™ื ืง
  2. ืžื™ืจ ื’ื™ื™ืŸ ืฆื• "ืžื™ื™ึทืŸ ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก" ืื•ืŸ ื’ื™ื˜ ื“ื™ "ืœื™ื™ื’ ืึท ื ื™ื™ึทืข ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ" ืงื ืขืคึผืœ, ื’ืขื‘ืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ืกืขืœืขืงื˜ื™ืจืŸ ื“ืขื ื˜ื™ืคึผ.
  3. ืฉืคึผืึธืจืŸ ื“ื™ ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธืŸ ืฉื™ื™ึทืŸ

ื•ื•ื™ื™ื›ื•ื•ืืจื’

ืขืก ืื™ื– ืฉื•ื™ืŸ ืคืจื™ื™ื”ื™ื™ื˜ ืคื•ืŸ ื‘ืจื™ืจื”. ืขืžืขืฆืขืจ ื ื™ืฆื˜ ื•ื•ื™ืกื•ืึทืœ ืกื˜ื•ื“ื™ืึธ, ืขืžืขืฆืขืจ ืจื™ื“ืขืจ, ืขืžืขืฆืขืจ ืื™ื– ื‘ื›ืœืœ ืฉื˜ืึทืจืง, ืื•ืŸ ืฉืจื™ื™ื‘ื˜ ืงืึธื“ ืื™ืŸ ื•ื•ื™ื (ื ืึธืš ืึทืœืข, ืคืึทืงื˜ื™ืฉ ืคึผืจืึธื•ื’ืจืึทืžืขืจื– ื ื•ืฆืŸ ื‘ืœื•ื™ื– ื“ื™ ืงืœืึทื•ื•ื™ืึทื˜ื•ืจ, ืจืขื›ื˜?). ืึธื‘ืขืจ, ืื™ืŸ ืกื“ืจ ื ื™ืฉื˜ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ื™ Discord API, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ืึทื ืึทืคื™ืฉืึทืœ C # ื‘ื™ื‘ืœื™ืึธื˜ืขืง "DSharpPlus". ืื™ืจ ืงืขื ืขืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ืขืก ืึธื“ืขืจ ืคึฟื•ืŸ NuGet, ืึธื“ืขืจ ื“ื•ืจืš ื‘ื•ื™ืขืŸ ื“ื™ ืงื•ื•ืืœืŸ ื–ื™ืš ืคึฟื•ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.

ืคึฟืึทืจ ื™ืขื ืข ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ืกืŸ ืึธื“ืขืจ ื”ืึธื‘ืŸ ืคืืจื’ืขืกืŸ ื•ื•ื™ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟื•ืŸ NuGet.ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืคึฟืึทืจ ื•ื•ื™ืกื•ืึทืœ ืกื˜ื•ื“ื™ืึธ

  1. ื’ื™ื™ืŸ ืฆื• ื“ื™ ืงื•ื•ื™ื˜ืœ ืคึผืจืึธื™ืขืงื˜ - ืื•ื™ืคึฟืคึผืึทืกืŸ NuGet ืคึผืึทืงื™ื“ื–ืฉื™ื–;
  2. ื“ืจื™ืงื˜ ืื•ื™ืฃ ื“ื™ ืจืขืฆืขื ื–ื™ืข ืื•ืŸ ืึทืจื™ื™ึทืŸ "DSharpPlus" ืื™ืŸ ื“ื™ ื–ื•ื›ืŸ ืคืขืœื“;
  3. ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ืคืจื™ื™ืžื•ื•ืขืจืง;
  4. PROFIT!

ื“ืขืจ ืคึผืจื™ืคึผืขืจืึทื˜ืึธืจื™ ื‘ื™ื ืข ืื™ื– ืื™ื‘ืขืจ, ืื™ืจ ืงืขื ืขืŸ ื’ื™ื™ื  ื•ื•ื™ื™ึทื˜ืขืจ ืฆื• ืฉืจื™ื™ื‘ืŸ ื“ื™ ื‘ืึธื˜.

ืฉืจื™ื™ื‘ืŸ ืœืึธื’ื™ืง

ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ ืžื™ื˜ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ืึท ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ

ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ื™ ื’ืื ืฆืข ืœืึธื’ื™ืง ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ืื™ืš ื•ื•ืขืœ ื ืึธืจ ื•ื•ื™ื™ึทื–ืŸ ื•ื•ื™ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ ื™ื ื˜ืขืจืกืขืคึผืฉืึทืŸ ืคื•ืŸ ืึทืจื˜ื™ืงืœืขืŸ ื“ื•ืจืš ื“ื™ ื‘ืึธื˜ ืื•ืŸ ื•ื•ื™ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ Wargaming API.

ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื“ื™ ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ื›ืึทืคึผืึทื ื– ื“ื•ืจืš ื“ื™ ืกื˜ืึทื˜ื™ืง ืึทืกื™ื ืง ื˜ืึทืกืง ืžืึทื™ื ื˜ืึทืกืง (ืฉื˜ืจื™ืงืœ [] ืึทืจื’ืก);
ืฆื• ืจื•ืคืŸ ื“ืขื ืคึฟื•ื ืงืฆื™ืข, ืื™ืŸ ื”ื•ื™ืคึผื˜ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืจืขื’ื™ืกื˜ืจื™ืจืŸ

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 ืื™ื– ื’ืขื˜ื™ื ื’ ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืก ื ื™ืงืงื ืึทืžืข.

ื“ืขื ื•ื•ืขื’, ื•ื•ืขืŸ ืื™ืจ ืฉื™ืงืŸ ืงื™ื™ืŸ ืึธื ื–ืึธื’ ื•ื•ืึธืก ืกื˜ืึทืจืฅ ืžื™ื˜ &, ื“ืขืจ ื‘ืึธื˜ ื•ื•ืขื˜ ื‘ืึทื’ืจื™ืกืŸ ืื™ืจ.

ืื™ืŸ ื“ื™ ืกื•ืฃ ืคื•ืŸ ื“ืขื ืคึฟื•ื ืงืฆื™ืข, ืื™ืจ ืžื•ื–ืŸ ืฉืจื™ื™ึทื‘ืŸ ืึทื•ื•ื™ื™ื˜ ื“ื™ืกืงืึธืจื“. ืงืึธื ื ืขืงื˜ืึทืกื™ื ืง (); ืื•ืŸ ื“ืขืจื•ื•ืึทืจื˜ืŸ ื˜ืึทืกืง.ื“ืขืœื™ื™ึท (-1);

ื“ืึธืก ื•ื•ืขื˜ ืœืึธื–ืŸ ืื™ืจ ืฆื• ื•ื™ืกืคื™ืจืŸ ืงืึทืžืึทื ื“ื– ืื™ืŸ ื“ืขืจ ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜ ืึธืŸ ื ืขืžืขืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคืึธื“ืขื.

ืื™ืฆื˜ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ื“ื™ Wargaming API. ืึทืœืฅ ืื™ื– ืคึผืฉื•ื˜ ื“ืึธ - ืฉืจื™ื™ึทื‘ืŸ CURL ืจื™ืงื•ื•ืขืก, ื‘ืึทืงื•ืžืขืŸ ืึท ืขื ื˜ืคืขืจ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืึท JSON ืฉื˜ืจื™ืงืœ, ืฆื™ืขืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ื“ืึทื˜ืŸ ืคึฟื•ืŸ ื“ืึธืจื˜ ืื•ืŸ ื“ื•ืจื›ืคื™ืจืŸ ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทื ื– ืื•ื™ืฃ ื–ื™ื™.

ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ WargamingAPI

public Player FindPlayer(string searchNickname)
        {
            //https://api.worldoftanks.ru/wot/account/list/?application_id=y0ur_a@@_id_h3r3search=nickname
            urlRequest = resourceMan.GetString("url_find_player") + appID + "&search=" + searchNickname;
            Player player = null;
            string resultResponse = GetResponse(urlRequest);
            dynamic parsed = JsonConvert.DeserializeObject(resultResponse);

            string status = parsed.status;
            if (status == "ok")
            {
                int count = parsed.meta.count;
                if (count > 0)
                {
                    player = new Player
                    {
                        Nickname = parsed.data[0].nickname,
                        Id = parsed.data[0].account_id
                    };
                }
                else
                {
                    throw new PlayerNotFound("ะ˜ะณั€ะพะบ ะฝะต ะฝะฐะนะดะตะฝ");
                }
            }
            else
            {
                string error = parsed.error.message;
                if (error == "NOT_ENOUGH_SEARCH_LENGTH")
                {
                    throw new PlayerNotFound("ะœะธะฝะธะผัƒะผ ั‚ั€ะธ ัะธะผะฒะพะปะฐ ั‚ั€ะตะฑัƒะตั‚ัั");
                }
                else if (error == "INVALID_SEARCH")
                {
                    throw new PlayerNotFound("ะะตะฒะตั€ะฝั‹ะน ะฟะพะธัะบ");
                }
                else if (error == "SEARCH_NOT_SPECIFIED")
                {
                    throw new PlayerNotFound("ะŸัƒัั‚ะพะน ะฝะธะบะฝะตะนะผ");
                }
                else
                {
                    throw new Exception("Something went wrong.");
                }
            }

            return player;
        }

ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜! ืขืก ืื™ื– ืฉื˜ืจืขื ื’ ื ื™ืฉื˜ ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ืงืจืึธื ืึทืœืข ื˜ืึธืงืขื ืก ืื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื™ื“ืก ืื™ืŸ ืงืœืึธืจ ื˜ืขืงืกื˜! ืื™ืŸ ืึท ืžื™ื ื™ืžื•ื, ื“ื™ืกืงืึธืจื“ ืคืึทืจื‘ืึธื˜ ืึทื–ืึท ื˜ืึธืงืขื ืก ื•ื•ืขืŸ ื–ื™ื™ ืึทืจื™ื™ึทืŸ ื“ื™ ื•ื•ืขืจืœื“ื•ื•ื™ื™ื“ ื ืขืฅ, ืื•ืŸ ืื™ืŸ ืึท ืžืึทืงืกื™ืžื•ื, ื“ื™ ื‘ืึธื˜ ื”ื™ื™ื‘ื˜ ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื“ื•ืจืš ืึทื˜ืึทืงืขืจื–.

ืฆืขื•ื•ื™ืงืœืขืŸ ืฆื• VPS - ืกืขืจื•ื•ืขืจ

ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ืื•ื™ืฃ. ื ืขืฅ ืงืึธืจ ืžื™ื˜ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ืึท ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ

ืึทืžืึธืœ ืื™ืจ ื–ืขื ืขืŸ ืคืึทืจื˜ื™ืง ืžื™ื˜ ื“ื™ ื‘ืึธื˜, ืขืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ื›ืึธื•ืกื˜ื™ื“ ืื•ื™ืฃ ืึท ืกืขืจื•ื•ืขืจ ื•ื•ืึธืก ืื™ื– ืงืขืกื™ื™ื“ืขืจ ืคืœื™ืกื ื“ื™ืง 24/7. ื“ืึธืก ืื™ื– ืจืขื›ื˜ ืฆื• ื“ืขื ืคืึทืงื˜ ืึทื– ื•ื•ืขืŸ ื“ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืคืœื™ืกื ื“ื™ืง, ื“ื™ ื‘ืึธื˜ ืื™ื– ืื•ื™ืš ืคืœื™ืกื ื“ื™ืง. ื•ื•ื™ ื‘ืึทืœื“ ื•ื•ื™ ืื™ืจ ืงืขืจ ืึทื•ื•ืขืง ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ, ื“ื™ื™ืŸ ื‘ืึธื˜ ืคืืœืŸ ืื•ื™ืš ืฉืœืึธืคื ื“ื™ืง.

ืคื™ืœืข ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจืก ืขืงืกื™ืกื˜ื™ืจืŸ ืื™ืŸ ื“ืขืจ ื•ื•ืขืœื˜, ื‘ื™ื™ื“ืข ืื•ื™ืฃ Windows ืื•ืŸ ืื•ื™ืฃ ืœื™ื ื•ืงืก, ืึธื‘ืขืจ, ืื™ืŸ ืจื•ื‘ึฟ ืงืึทืกืขืก, ืขืก ืื™ื– ืคื™ืœ ื˜ืฉื™ืคึผืขืจ ืฆื• ื‘ืึทืœืขื‘ืึธืก ืื•ื™ืฃ ืœื™ื ื•ืงืก.

ืื•ื™ืฃ ื“ื™ ื“ื™ืกืงืึธืจื“ ืกืขืจื•ื•ืขืจ, ืื™ืš ืื™ื– ื’ืขื•ื•ืขืŸ ืึทื“ื•ื•ื™ื™ื–ื“ vscale.io, ืื•ืŸ ืื™ืš ื’ืœื™ื™ืš ื‘ืืฉืืคืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืกืขืจื•ื•ืขืจ ืื•ื™ืฃ ื•ื‘ื•ื ื˜ื• ืื•ื™ืฃ ืขืก ืื•ืŸ ื•ืคึผืœืึธืึทื“ืขื“ ื“ื™ ื‘ืึธื˜. ืื™ืš ื•ื•ืขืœ ื ื™ืฉื˜ ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ื•ื•ื™ ื“ืขื ืคึผืœืึทืฅ ืึทืจื‘ืขื˜, ืึธื‘ืขืจ ืื™ืš ื•ื•ืขืœ ื’ื™ื™ืŸ ื’ืœื™ื™ืš ืฆื• ื“ื™ ื‘ืึธื˜ ืกืขื˜ื˜ื™ื ื’ืก.

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ืึธืก ื•ื•ืขื˜ ืœื•ื™ืคืŸ ืื•ื ื“ื–ืขืจ ื‘ืึธื˜ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ .ื ืขื˜ ืงืึธืจ. ื•ื•ื™ ืฆื• ื˜ืึธืŸ ื“ืึธืก ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ื“ืึธ.

ื“ืขืจื ืึธืš ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฆื•ืคึฟืขืœื™ืงืขืจ ื“ื™ ื‘ืึธื˜ ืฆื• ืึท ื’ื™ื˜ ื“ื™ื ืกื˜, ื•ื•ื™ GitHub ืื•ืŸ ื“ื™ ื•ื•ื™, ืื•ืŸ ืงืœืึธื•ืŸ ืขืก ืฆื• ืึท ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ, ืึธื“ืขืจ ืืจืืคืงืืคื™ืข ื“ื™ื™ืŸ ื‘ืึธื˜ ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขื’ืŸ. ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ืื™ืจ ื•ื•ืขื˜ ื ืึธืจ ื”ืึธื‘ืŸ ืึท ืงืึทื ืกืึธื•ืœ, ืงื™ื™ืŸ GUI. ื‘ื›ืœืœ.

ื ืึธืš ืื™ืจ ื”ืึธื‘ืŸ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื“ื™ื™ืŸ ื‘ืึธื˜, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ ืขืก. ืคึฟืึทืจ ื“ืขื, ืื™ืจ ื“ืึทืจืคึฟืŸ:

  • ื•ืžืงืขืจืŸ ืึทืœืข ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–: ื“ืึธื˜ื ืขื˜ ืจื™ืกื˜ืึธืจ
  • ื‘ื•ื™ืขืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ: ื“ืึธื˜ื ืขื˜ ื‘ื•ื™ืขืŸ name_project.sln -c ืžืขืœื“ื•ื ื’
  • ื’ื™ื™ืŸ ืฆื• ื’ืขื‘ื•ื™ื˜ ื“ืœืœ;
  • ื“ืึธื˜ื ืขื˜ ื ืึธืžืขืŸ_ืคื•ืŸ_ืคื™ืœืข.ื“ืœืœ

ืžืึทื–ืœ - ื˜ืึธื•ื•! ื“ื™ื™ืŸ ื‘ืึธื˜ ืื™ื– ืคืœื™ืกื ื“ื™ืง. ืึธื‘ืขืจ, ืœื™ื™ื“ืขืจ, ื“ื™ ื‘ืึธื˜ ืึทืงื™ืึทืคึผื™ื™ื– ื“ื™ ืงืึทื ืกืึธื•ืœ, ืื•ืŸ ืขืก ืื™ื– ื ื™ืฉื˜ ื’ืจื™ื ื’ ืฆื• ืึทืจื•ื™ืกื’ืึทื ื’ ื“ื™ ื•ื•ืคึผืก ืกืขืจื•ื•ืขืจ. ืื•ื™ืš, ืื™ืŸ ืคืึทืœ ืคื•ืŸ ืึท ืกืขืจื•ื•ืขืจ ืจื™ืกื˜ืึทืจื˜, ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื“ืขื ื‘ืึธื˜ ืื•ื™ืฃ ืึท ื ื™ื™ึทืข ื•ื•ืขื’. ืขืก ื–ืขื ืขืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ื•ื•ืขื’ืŸ ืื•ื™ืก ืคื•ืŸ ื“ื™ ืกื™ื˜ื•ืึทืฆื™ืข. ืึทืœืข ืคื•ืŸ โ€‹โ€‹ื–ื™ื™ ื–ืขื ืขืŸ ืฉื™ื™ึทื›ื•ืช ืฆื• ื“ื™ ืงืึทื˜ืขืจ ื‘ื™ื™ ืกืขืจื•ื•ื™ืจืขืจ ืกื˜ืึทืจื˜ืึทืคึผ:

  • ืœื™ื™ื’ ืœื•ื™ืคืŸ ืฉืจื™ืคื˜ ืฆื• /etc/init.d
  • ืฉืึทืคึฟืŸ ืึท ื“ื™ื ืกื˜ ื•ื•ืึธืก ื•ื•ืขื˜ ืœื•ื™ืคืŸ ื‘ื™ื™ ืกื˜ืึทืจื˜ืึทืคึผ.

ืื™ืš ื˜ืึธืŸ ื ื™ื˜ ื–ืขืŸ ื“ื™ ืคื•ื ื˜ ืื™ืŸ ื•ื•ื•ื™ื ืขืŸ ืื•ื™ืฃ ื–ื™ื™ ืื™ืŸ ื“ืขื˜ืึทืœ, ืึทืœืฅ ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื’ืขื ื•ื’ ื“ืขื˜ืึทืœ ืื•ื™ืฃ ื“ื™ ืื™ื ื˜ืขืจื ืขื˜.

ืคื™ื™ื ื“ื™ื ื’ื–

ืื™ืš ื‘ื™ืŸ ืฆื•ืคืจื™ื“ืŸ ืื™ืš ื’ืขื ื•ืžืขืŸ ืื•ื™ืฃ ื“ืขื ืึทืกื™ื™ื ืžืึทื ื˜. ื“ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืžื™ื™ืŸ ืขืจืฉื˜ืขืจ ื‘ืึธื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื“ืขืจืคืึทืจื•ื ื’, ืื•ืŸ ืื™ืš ื‘ื™ืŸ ืฆื•ืคืจื™ื“ืŸ ืึทื– ืื™ืš ื’ืึทื˜ ื ื™ื™ึทืข ื•ื•ื™ืกืŸ ืื™ืŸ C # ืื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืœื™ื ื•ืงืก.

ืœื™ื ืง ืฆื• ื“ื™ืกืงืึธืจื“ ืกืขืจื•ื•ืขืจ. ืคึฟืึทืจ ื“ื™ ื•ื•ืืก ืฉืคึผื™ืœืŸ ื•ื•ืึทืจื’ืึทืžื™ื ื’ ืฉืคึผื™ืœืขืจื™ื™ึท.
ืœื™ื ืง ืฆื• ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ื•ื•ื• ื“ื™ ื“ื™ืกืงืึธืจื“ ื‘ืึธื˜ ืื™ื– ืœื™ื’ืŸ.
ืœื™ื ืง ืฆื• ื“ื™ DSharpPlus ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.
ื’ื•ื˜ ื’ืœื™ืง!

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’