แแแแแ แฏแแแ แฎแแแ แแแแแแแ!
แแฆแแก แแแฎแแแ แกแขแแขแแแก, แ แแแแแแช แแแฉแแแแแแ, แแฃ แ แแแแ แฃแแแ แจแแฅแแแแ แแแขแ C#-แแก แแแแแงแแแแแแ .NET Core-แแ แแ แ แแแแ แแแฃแจแแแ แแแ แแแกแขแแแชแแฃแ แกแแ แแแ แแ.
แกแขแแขแแ แจแแแแแแ แคแแแแก, แแแกแแแแแแแแแแ แแขแแแแกแแแ, แแแแแแแก แฉแแฌแแ แแกแ แแ แแแขแแก แแแกแขแแแชแแฃแ แกแแ แแแ แแ แแแแแขแแแแกแแแ.
แแแแแ แแแฅแแก, แ แแ แแก แกแขแแขแแ แแแแ แแแแฌแงแแแก แแแแฎแแแ แแแ.
แฌแแแแแกแขแแ แแ
แงแแแแแคแแ แ แแแแฌแงแ แจแแแแแแแแแก แแ แ แฃแซแแแ แฆแแแแจแ, แ แแแแแแช Discord แกแแ แแแ แแ แแแแแขแแ แ. แแแก แจแแแแแ, แ แแช แแแก แแฎแแแฎแแแก แจแแแฃแแ แแแ, แแแแแฌแงแ แแแกแ แจแแกแฌแแแแ แแแแแ แแ แฅแแแแแ. แขแแฅแกแขแฃแ แ แแ แฎแ "แแแแแแกแแแแ" แ แแ แแแแแแ, แแแแแแขแแ แแกแแ, แแแแฎแกแแแ แแ แแ แจแแแแแแแแแแแแแก แจแแ แแก แแฆแแแแแฉแแแ, แ แแแแแแแช แแ แแแแแแแขแแ แแกแ, แแกแแแแ:
แแ แแแ แแแแกแขแ (แแแขแแก แแแแแแแแแ แ)
แแแแฎแแแแแแ:
- แแ แแแ แแแแ แแแแก แแแแแแก แชแแแแ;
- แแแแแกแฌแแแแแก แฃแแแ แ.
ะะพะถะตะปะฐะฝะธั:
- แกแฎแแ แแแแแแแแแแแก แแแแแก แแแแแแแก แฃแแแ แ;
- DISCORD-แแก แคแฃแแฅแชแแแแแ แแแแก แชแแแแ.
แแแแแแแ:
- แแแขแแก แแแแแแแแ แแแ;
- แแแขแแก แแฎแแ แแแญแแ แ แแ แจแแแแ แฉแฃแแแแ.
แแฅแแแแ แกแแ แแแแแแ:
- แจแแกแแซแแแแแแแ แแฎแแ แ แแแฃแญแแ แแ แแ แแแแแแแ แแแแฎแแแแแ แแ แแแฅแขแแ, แ แแแแแแช แแแแฌแแแ;
- แแฃแแแจแ แแฃแจแแแแแก แแแแแชแแแแแแแก แแแฆแแแ;
- แแ แกแแแฃแแ แฃแแแ แแแแก แแแแแแกแขแ แแ แแแแกแ แแ แแแฃแแฏแแแแกแแแแก แจแแกแแซแแแแแแแ.
แแแแ แแแจแแแแ แแแแแแแขแแ แแกแ. แแแแฎ, แแแ แแ แแแแแแฎแแแแก แแก แกแแแฃแจแแ, แแแแ แแ แแแ แแ แแแกแแฎแแแแก แ แแแแ แแแแแแแฃแแแแ แแฅแแแแแแ แแ แแก แแ แแฅแแแแ แแแแแแขแ แแแ แขแคแแแแแจแ. แแแแขแแ แแแแฌแแ แ แกแแ แแแ แแก แแแแแแก แแ แแแฎแแแ แแแแแฌแแ แ แแแขแ, แ แแแแแแช แแฉแแแแแแก แแแแแแแจแแก แกแขแแขแแกแขแแแแก World of Tanks-แจแ.
แแแกแแแแแแแแแแ แแขแแแ
แแแกแแแแ
แกแแแแ แแแแแฌแงแแแ แฉแแแแ แแแขแแก แฌแแ แแก, แแก แฃแแแ แจแแแฅแแแแ Discord-แแกแแแแก. แฒจแแ แแญแแ แแแแ:
- แจแแแแ Discord แแแแแ แแจแแ
ะฟะพ ัััะปะบะต - "แแแแแแแชแแแแแก" แฉแแแแ แแจแ แแแแญแแ แแ แฆแแแแแก "แแฎแแแ แแแแแแแชแแ" แแ แแแแกแแฎแแแแ แแแขแ
- แแแแฆแแ แแแขแแก แแแขแแแ แแฅแแแแก แแแขแจแ แจแแกแแแแ แแ โแแแ แแแแขแ แแแแกโ แกแแแจแ โแแแขแแกโ แฉแแแแ แแแก แแแแแแก แแแแ.
- แจแแแแแฎแแ แแแขแแแ แกแแแแ
Wargaming
แแกแแแ, แแฅแแแ แฃแแแ แจแแฅแแแแ แแแแแแแชแแ Wargaming-แจแ, แ แแ แแแแฆแแ แฌแแแแแ Wargaming API-แแ. แแฅแแช แงแแแแแคแแ แ แแแ แขแแแแ:
- แจแแแแ แแฅแแแแก Wargaming แแแแแ แแจแแ
แแ แแแฃแแแ - แฉแแแ แแแแแแแแ แ "แฉแแแ แแแแแแแชแแแแ" แแ แแแญแแ แ แฆแแแแแก "แแฎแแแ แแแแแแแชแแแก แแแแแขแแแ", แแแซแแแแ แแแแแแแชแแแก แกแแฎแแแก แแ แแแ แฉแแแ แแแก แขแแแก.
- แแแแแแแชแแแก ID-แแก แจแแแแฎแแ
แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ
แแ แฉแแแแแแก แแแแแกแฃแคแแแแ แฃแแแ แแ แกแแแแแก. แแแฆแแช แแงแแแแแก Visual Studio-แก, แแแฆแแช Rider-แก, แแแฆแแช แแแแแแแ แซแแแแ แแ แแ แฌแแ แก แแแแก Vim-แจแ (แแแแแก แแ แแแแแก, แ แแแแฃแ แ แแ แแแ แแแแกแขแแแ แแฎแแแแ แแแแแแแขแฃแ แแก แแงแแแแแแ, แแ แ?). แแแแกแแแ, แแแแกแแแแแก, แ แแ แแ แแแแแฎแแ แชแแแแแ Discord API, แจแแแแซแแแแ แแแแแแงแแแแ แแ แแแคแแชแแแแฃแ แ C# แแแแแแแแแแ "DSharpPlus". แแฅแแแ แจแแแแซแแแแ แแแแแแกแขแแแแ แแ แแแ แแ NuGet-แแแ, แแ แแแแแ แจแแฅแแแแแ แฌแงแแ แแแแ แกแแชแแแแแแ.
แแแแแแแก, แแแแช แแ แแชแแก แแ แแแแแแฌแงแแ แ แแแแ แแแแแแกแขแแแแ แแ แแแแแแแชแแแแ NuGet-แแแ.แแแกแขแ แฃแฅแชแแแแ Visual Studio-แกแแแแก
- แแแแแแแ แฉแแแแ แแแ Project - Manage NuGet Packages;
- แแแแฌแแแแฃแแแ แแแแแฎแแแแแแ แแ แกแแซแแแแ แแแแจแ แจแแแงแแแแแ โDSharpPlusโ;
- แแแ แฉแแแ แแ แแแแแแกแขแแแแ แแ แฉแแ แฉแ;
- แแแแแแ!
แแแกแแแแแแแแแแ แแขแแแ แแแกแ แฃแแแ, แจแแแแซแแแแ แแแแแ แซแแแแ แแแขแแก แแแฌแแ แ.
แฌแแ แแก แแแแแแ
แฉแแแ แแ แแแแแแฎแแแแแ แแแแแแแชแแแก แแแแ แแแแแแแก, แแ แแฎแแแแ แแแฉแแแแแแ, แแฃ แ แแแแ แแแแฃแจแแแ แแแขแแก แแแแ แจแแขแงแแแแแแแแแแก แฉแแ แแแแ แแ แ แแแแ แแแแฃแจแแแ Wargaming API-แกแแแ.
Discord แแแขแแแ แแฃแจแแแแ แฎแแแแ แกแขแแขแแแฃแ แ แแกแแแฅแ แแแฃแแ Task MainTask(string[] args) แแแจแแแแแแ;
แแ แคแฃแแฅแชแแแก แแแแแกแแซแแฎแแแแแ, Main-แจแ แฃแแแ แแแ แแแแกแขแ แแ แแแ
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 แแฆแแแก แแแแฎแแแ แแแแแก แแแขแกแแฎแแแก.
แแ แแแแ, แ แแแแกแแช แแแแแแแแแ แแแแแกแแแแ แจแแขแงแแแแแแแแก, แ แแแแแแช แแฌแงแแแ &-แแ, แแแขแ แแแแแกแแแแแแแ.
แแ แคแฃแแฅแชแแแก แแแกแแกแ แฃแแก แแฅแแแ แฃแแแ แแแฌแแ แแ await discord.ConnectAsync(); แแ แแแแแแแแแ Task.Delay(-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;
}
แงแฃแ แแแฆแแแ! แแแขแแแแ แแฃแแแ แแ แแ แแก แ แแแแแแแแแ แแแฃแแ แงแแแแ แขแแแแแแกแ แแ แแแแแแแชแแแก ID-แแแแก แจแแแแฎแแ แแแแคแแ แขแแฅแกแขแจแ! แแแแแแฃแ, Discord แแ แซแแแแแก แแกแแ แขแแแแแแแก, แ แแแแกแแช แแกแแแ แจแแแแแ แแกแแคแแแ แฅแกแแแจแ, แฎแแแ แแแฅแกแแแฃแ, แแแขแแก แแแแแงแแแแแแก แแฌแงแแแก แแแแแแแกแฎแแแแแแ.
แแแแแแแแแ VPS - แกแแ แแแ แแ
แแแก แจแแแแแ แ แแช แแแแกแ แฃแแแแ แแแขแก, แแก แฃแแแ แแแแแแแกแแแก แกแแ แแแ แแ, แ แแแแแแช แแฃแแแแแแ แแฃแจแแแแก 24/7. แแก แแแแแฌแแแฃแแแ แแแแ, แ แแ แ แแแแกแแช แแฅแแแแ แแแแแแแชแแ แแฃแจแแแแก, แแแขแแช แแฃแจแแแแก. แ แแแแ แช แแ แแแแแแแชแแแก แแแแแ แแแแ, แแฅแแแแก แแแขแกแแช แแซแแแแแก.
แแแแ แ VPS แกแแ แแแ แ แแ แกแแแแแก แแ แกแแแงแแ แแจแ, แ แแแแ แช Windows-แแ, แแกแแแ Linux-แแ, แแฃแแชแ, แฃแแแขแแก แจแแแแฎแแแแแจแ, Linux-แแ แฐแแกแขแแแแ แแแชแแแแแแ แแแคแแ.
Discord แกแแ แแแ แแ แแแ แฉแแแก vscale.io แแ แแแจแแแแ แจแแแฅแแแแ แแแ แขแฃแแแฃแ แ แกแแ แแแ แ Ubuntu-แแ แแ แแแขแแแ แแ แแแขแ. แแ แแ แแฆแแฌแแ แ แแแแ แแฃแจแแแแก แแก แกแแแขแ, แแแแ แแ แแแ แแแแแ แแแขแแก แแแ แแแแขแ แแแแ แแแแแแแ.
แฃแแแ แแแแแก แงแแแแแกแ, แแฅแแแ แฃแแแ แแแแแแกแขแแแแ แแ แกแแญแแ แ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ, แ แแแแแแช แแแฃแจแแแแก .NET Core-แจแ แแแฌแแ แแ แฉแแแแก แแแขแก.
แจแแแแแแ, แแฅแแแ แฃแแแ แแขแแแ แแแ แแแขแ Git แกแแ แแแกแจแ, แ แแแแ แแชแแ GitHub แแ แแกแแแแกแ, แแ แแแแแแ แแ แแแ VPS แกแแ แแแ แแ, แแ แฉแแแแขแแแ แแแ แแฅแแแแ แแแขแ แกแฎแแ แแแแ. แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแฅแแแ แแแฅแแแแแ แแฎแแแแ แแแแกแแแ, แแ แ GUI. แฒกแแแ แแแ.
แแแขแแก แฉแแแแขแแแ แแแแก แจแแแแแ, แแฅแแแ แฃแแแ แแแฃแจแแแ แแแ. แแแแกแแแแก แกแแญแแ แแ:
- แงแแแแ แแแแแแแแแแฃแแแแแก แแฆแแแแแ: dotnet แแฆแแแแแ
- แแแแแแแชแแแก แแจแแแแแ: dotnet build name_project.sln -c แแแแแจแแแแ
- แแแแแแแ แฉแแจแแแแแฃแ DLL-แแ;
- dotnet name_of_file.dll
แแแแแชแแ! แแฅแแแแ แแแขแ แแฃแจแแแแก. แแฃแแชแ, แแแขแ, แกแแแฌแฃแฎแแ แแ, แแแแแแแก แแแแกแแแก แแ VPS แกแแ แแแ แแแแ แแแกแแแ แแแแแแ แแ แแ แแก. แแกแแแ แกแแ แแแ แแก แแแแแขแแแ แแแแก แจแแแแฎแแแแแจแ แแแขแแก แแฎแแแแฃแ แแ แแแจแแแแ แแแแแฌแแแ. แกแแขแฃแแชแแแแแ แแแแแกแแแแก แ แแแแแแแแ แแแ แแ แกแแแแแก. แงแแแแ แแแแแแแ แแแแแแจแแ แแแฃแแแ แกแแ แแแ แแก แแแจแแแแแก แแ แแก แแแจแแแแแกแแแ:
- แแแแแแขแแ แแแจแแแแฃแแ แกแแ แแแขแ /etc/init.d
- แจแแฅแแแแแ แกแแ แแแกแ, แ แแแแแแช แแแจแแแแแกแแแแแแ แแแฃแจแแแแแก.
แแ แแแ แแฎแแแแ แแแแแ แแแฌแแ แแแแแแ แคแแฅแ แก, แงแแแแแคแแ แ แกแแแแแ แแกแแ แแแขแแแฃแ แแ แแ แแก แแฆแฌแแ แแแ แแแขแแ แแแขแจแ.
แแแกแแแแแแ
แแแฎแแ แแ, แ แแ แแก แแแแแแแแ แแแแฆแ. แแก แแงแ แฉแแแ แแแ แแแแ แแแขแแก แแแแแแแแ แแแแก แแแแแชแแแแแแ แแ แแแฎแแ แแ, แ แแ แแฎแแแ แชแแแแ แแแแแฆแ C #-แจแ แแ แแแแฃแฅแกแแ แแฃแจแแแแ.
แแแฃแแ Discord แกแแ แแแ แแแ.
แแแแ แแแแแแแ!
แฌแงแแ แ: www.habr.com