āĻšā§āĻ¯āĻžāĻ˛ā§ āĻāĻŦāĻ°āĻāĻžāĻāĻāĻ¸!
āĻāĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻŦā§ āĻāĻŋāĻāĻžāĻŦā§ C# āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ .NET Core āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻāĻā§āĻŽāĻŋ, āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ, āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ˛ā§āĻāĻž āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻŦāĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤āĨ¤
āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ
āĻ¨ā§āĻ āĻ¨āĻ¤ā§āĻ¨āĻĻā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§āĨ¤
āĻĒā§āĻ°āĻžāĻāĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ
āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻāĻŋ āĻā§āĻŽāĻšā§āĻ¨ āĻļāĻ°āĻ¤ā§āĻ° āĻ°āĻžāĻ¤ā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻž āĻāĻŽāĻŋ āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻžāĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋ, āĻāĻŽāĻŋ āĻ¤āĻžāĻā§ āĻāĻĒāĻ°ā§ āĻāĻŦāĻ āĻ¨ā§āĻā§ āĻ āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻĒāĻžāĻ ā§āĻ¯ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ "āĻļā§āĻ¨ā§āĻ¯āĻĒāĻĻ" āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§, āĻāĻŽāĻŋ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¯āĻŧā§ āĻāĻ āĻ˛āĻžāĻŽ, āĻāĻāĻŋ āĻā§āĻ˛āĻ˛āĻžāĻŽ āĻāĻŦāĻ āĻ āĻĢāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻāĻā§ āĻĒā§āĻ˛āĻžāĻŽ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻā§ āĻāĻā§āĻ°āĻšā§ āĻāĻ°ā§ āĻ¨āĻž, āĻāĻāĻā§āĻ˛āĻŋ āĻšāĻ˛:
"āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ° (āĻŦāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§)
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž:
- āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻžāĻ° āĻā§āĻāĻžāĻ¨;
- āĻ¸ā§āĻŦ-āĻļāĻŋāĻā§āĻˇāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤
āĻāĻā§āĻāĻž:
- āĻ āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻā§āĻĄ āĻŦā§āĻāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž;
- āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻā§āĻāĻžāĻ¨āĨ¤
āĻāĻĻā§āĻĻā§āĻļā§āĻ¯:
- āĻŦāĻ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨;
- āĻŦāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖāĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž:
- āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻā§āĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻ;
- āĻāĻāĻāĻŋ āĻĻāĻ˛ā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻ āĻ°ā§āĻāĻ¨;
- āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĻāĻā§āĻˇāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻŦāĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§āĻāĨ¤
āĻāĻ āĻ
āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻŽāĻžāĻā§ āĻāĻā§āĻ°āĻšā§. āĻšā§āĻ¯āĻžāĻ, āĻ¤āĻžāĻ°āĻž āĻāĻ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĻ¨āĻŋ, āĻ¤āĻŦā§ āĻ¤āĻžāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻā§āĻ¨āĻ āĻŦāĻžāĻ§ā§āĻ¯āĻŦāĻžāĻ§āĻāĻ¤āĻž āĻĻāĻžāĻŦāĻŋ āĻāĻ°ā§āĻ¨āĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻāĻĢā§āĻ˛āĻŋāĻāĻ¤ā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻŽāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻļāĻžāĻ¸āĻāĻā§ āĻ˛āĻŋāĻā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻāĻŦāĻ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻŽāĻžāĻā§ āĻāĻāĻāĻŋ āĻŦāĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻŦāĻ˛ā§āĻāĻŋāĻ˛ā§āĻ¨ āĻ¯āĻž āĻāĻ¯āĻŧāĻžāĻ°ā§āĻ˛ā§āĻĄ āĻ
āĻĢ āĻā§āĻ¯āĻžāĻā§āĻā§ āĻĒā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻĻā§āĻāĻžāĻŦā§āĨ¤
āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§
āĻĄāĻŋāĻ¸āĻā§āĻ°āĻĄ
āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻ āĻ˛ā§āĻāĻž āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¤ā§āĻŽāĻžāĻ° āĻĻāĻ°āĻāĻžāĻ°:
- āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ āĻ
ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§ āĻ˛āĻāĻāĻ¨ āĻāĻ°ā§āĻ¨
āĻ˛āĻŋāĻāĻ - "āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨" āĻā§āĻ¯āĻžāĻŦā§, "āĻ¨āĻ¤ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨" āĻŦā§āĻ¤āĻžāĻŽā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻŦāĻāĻāĻŋāĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨
- āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻā§ āĻ˛āĻ āĻāĻ¨ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻŦāĻ āĻā§āĻā§āĻ¨ āĻĒāĻžāĻ¨ āĻāĻŦāĻ "āĻ¸ā§āĻāĻŋāĻāĻ¸" āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ "āĻŦāĻ" āĻā§āĻ¯āĻžāĻŦāĻāĻŋ āĻā§āĻāĻā§ āĻĒāĻžāĻ¨
- āĻā§āĻā§āĻ¨āĻāĻŋ āĻā§āĻĨāĻžāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻ¨
āĻ¯ā§āĻĻā§āĻ§ā§āĻ° āĻā§āĻ˛āĻž
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, Wargaming API āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒā§āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻā§ Wargaming āĻ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻžāĻ¨ā§, āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻšāĻ:
- āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¯āĻŧāĻžāĻ°āĻā§āĻŽāĻŋāĻ āĻ
ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§ āĻ˛āĻāĻāĻ¨ āĻāĻ°ā§āĻ¨
āĻāĻ āĻ˛āĻŋāĻā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž - āĻāĻŽāĻ°āĻž "āĻāĻŽāĻžāĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨" āĻ āĻ¯āĻžāĻ āĻāĻŦāĻ "āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨" āĻŦā§āĻ¤āĻžāĻŽā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°āĻŋ, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻŦāĻ āĻāĻ° āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŋ
- āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻāĻĄāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¸āĻĢāĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°
āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻāĻ¨ā§āĻĻā§āĻ° āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻā§āĻ āĻāĻŋāĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻā§āĻĄāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻā§āĻ āĻ°āĻžāĻāĻĄāĻžāĻ°, āĻā§āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻāĻŦāĻ āĻāĻŋāĻŽ-āĻ āĻā§āĻĄ āĻ˛ā§āĻā§āĻ¨ (āĻ¸āĻŦāĻžāĻ° āĻĒāĻ°ā§, āĻĒā§āĻ°āĻā§āĻ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻ°āĻž āĻā§āĻŦāĻ˛ āĻā§āĻŦā§āĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻžāĻ āĻ¨āĻž?) āĻ¯āĻžāĻāĻšā§āĻ, āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ API āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨āĻžāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ C# āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ "DSharpPlus" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ NuGet āĻĨā§āĻā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ āĻĨāĻŦāĻž āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻ¨āĻŋāĻā§āĻ āĻāĻ¤ā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
āĻ¯āĻžāĻ°āĻž NuGet āĻĨā§āĻā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž āĻŦāĻž āĻā§āĻ˛ā§ āĻā§āĻā§āĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤āĻāĻŋāĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻā§āĻĄāĻŋāĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§
- āĻā§āĻ¯āĻžāĻŦ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻ¯āĻžāĻ¨ - NuGet āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĻ¨;
- āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻžāĻ¤ā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ "DSharpPlus" āĻ˛āĻŋāĻā§āĻ¨;
- āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨;
- āĻ˛āĻžāĻ!
āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧ āĻļā§āĻˇ, āĻāĻĒāĻ¨āĻŋ āĻŦāĻ āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ˛ā§āĻāĻž
āĻāĻŽāĻ°āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŦ āĻ¨āĻž, āĻāĻŽāĻŋ āĻā§āĻŦāĻ˛ āĻĻā§āĻāĻžāĻŦ āĻā§āĻāĻžāĻŦā§ āĻŦāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻŦāĻžāĻ§āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻāĻ¯āĻŧāĻžāĻ°āĻā§āĻŽāĻŋāĻ 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 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĄāĻžāĻāĻ¨āĻžāĻŽ āĻĒāĻžāĻā§āĻā§āĨ¤
āĻāĻāĻāĻžāĻŦā§, āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ & āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŽāĻ¨ āĻā§āĻ¨ā§ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ āĻžāĻ¨, āĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻā§āĻā§āĻāĻž āĻāĻžāĻ¨āĻžāĻŦā§āĨ¤
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§ 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;
}
āĻŽāĻ¨ā§āĻ¯ā§āĻ! āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻĒāĻžāĻ ā§āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻāĻĄāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž! āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨āĻāĻžāĻŦā§, āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ āĻāĻ°ā§ āĻ¯āĻāĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ, āĻŦāĻ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤
VPS - āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨
āĻāĻāĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻŋ āĻŦāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ˛ā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻšā§āĻ¸ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¯āĻž āĻā§āĻ°āĻŽāĻžāĻāĻ¤ 24/7 āĻāĻ˛āĻā§āĨ¤ āĻāĻāĻŋ āĻāĻ āĻāĻžāĻ°āĻŖā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ¯āĻāĻ¨ āĻāĻ˛āĻā§, āĻ¤āĻāĻ¨ āĻŦāĻāĻāĻŋāĻ āĻāĻ˛āĻā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻāĻ āĻā§āĻŽāĻŋāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§āĨ¤
āĻāĻāĻ¨ā§āĻĄā§āĻ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻāĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ āĻāĻ āĻŦāĻŋāĻļā§āĻŦā§ āĻ āĻ¨ā§āĻ āĻāĻŋāĻĒāĻŋāĻāĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨, āĻ¤āĻŦā§ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻšā§āĻ¸ā§āĻ āĻāĻ°āĻž āĻ āĻ¨ā§āĻ āĻ¸āĻ¸ā§āĻ¤āĻžāĨ¤
āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§, āĻāĻŽāĻžāĻā§ vscale.io āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŦāĻ āĻāĻŽāĻŋ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻāĻŋāĻ¤ā§ āĻāĻŦā§āĻ¨ā§āĻā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻŦāĻāĻāĻŋ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻŽāĻŋ āĻāĻ āĻ¸āĻžāĻāĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻŦ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦāĻ āĻ¸ā§āĻāĻŋāĻāĻ¸ā§ āĻ¯āĻžāĻŦāĨ¤
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž .NET āĻā§āĻ°ā§ āĻ˛ā§āĻāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻŦā§āĨ¤
āĻāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻŦāĻ āĻāĻ° āĻŽāĻ¤ā§, āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻŋāĻĒāĻŋāĻāĻ¸ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻāĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ā§ˇ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻ˛ āĻĨāĻžāĻāĻŦā§, āĻā§āĻ¨ GUI āĻĨāĻžāĻāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻĻā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°ā§āĻ¨: āĻĄāĻāĻ¨ā§āĻ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°
- āĻŦāĻŋāĻ˛ā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨: āĻĄāĻāĻ¨ā§āĻ āĻŦāĻŋāĻ˛ā§āĻĄ name_project.sln -c āĻ°āĻŋāĻ˛āĻŋāĻ
- āĻŦāĻŋāĻ˛ā§āĻ āĻĄāĻŋāĻāĻ˛āĻāĻ˛-āĻ āĻ¯āĻžāĻ¨;
- dotnet name_of_file.dll
āĻ āĻāĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨! āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻ āĻāĻ˛āĻā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻŦāĻ, āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻ¨āĻ¸ā§āĻ˛ āĻĻāĻāĻ˛ āĻāĻ°ā§, āĻāĻŦāĻ VPS āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°āĻž āĻāĻ¤ āĻ¸āĻšāĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻŦāĻāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĨā§āĻā§ āĻŦā§āĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¸āĻžāĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻā§āĨ¤ āĻāĻā§āĻ˛āĻŋ āĻ¸āĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§ āĻ˛āĻā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤:
- /etc/init.d-āĻ āĻ°āĻžāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
- āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒā§ āĻāĻ˛āĻŦā§āĨ¤
āĻāĻŽāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻĒāĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻĨāĻžāĻāĻžāĻ° āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻ¨āĻž, āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻā§ āĻ¸āĻŦāĻāĻŋāĻā§āĻ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻŦāĻŋāĻļāĻĻā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻ¤āĻĨā§āĻ¯āĻ
āĻāĻŽāĻŋ āĻāĻ¨āĻ¨ā§āĻĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻŽāĻŋ āĻāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻŋ āĻāĻŋāĻ˛ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž, āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻ¨āĻ¨ā§āĻĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻŽāĻŋ C# āĻ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻāĻžāĻ¨ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻāĻŋāĨ¤
āĻĄāĻŋāĻ¸āĻāĻ°ā§āĻĄ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ˛āĻŋāĻā§āĻāĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!
āĻāĻ¤ā§āĻ¸: www.habr.com