Guest User

Untitled

a guest
May 1st, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using SteamKit2;
  4.  
  5. namespace Bot
  6. {
  7.     interface ICallbackHandler
  8.     {
  9.         void HandleCallback(CallbackMsg msg);
  10.     }
  11.  
  12.     static class Steam
  13.     {
  14.         public static SteamClient Client { get; private set; }
  15.  
  16.         public static SteamFriends Friends { get; private set; }
  17.         public static SteamUser User { get; private set; }
  18.  
  19.         public static String Username { get; set; }
  20.         public static String Password { get; set; }
  21.         public static String AuthCode { get; set; }
  22.  
  23.         public static Chat Chat { get; private set; }
  24.  
  25.         static List<ICallbackHandler> Callbacks = new List<ICallbackHandler>();
  26.  
  27.         public static void Connect()
  28.         {
  29.             Client = new SteamClient(CMClient.ConnectionType.Tcp);
  30.             Friends = Client.GetHandler<SteamFriends>();
  31.             User = Client.GetHandler<SteamUser>();
  32.             Chat = new Chat();
  33.  
  34.             Client.Connect();
  35.         }
  36.  
  37.         public static void AddHandler(ICallbackHandler handler)
  38.         {
  39.             Callbacks.Add(handler);
  40.         }
  41.  
  42.         public static void RemoveHandler(ICallbackHandler handler)
  43.         {
  44.             Callbacks.Remove(handler);
  45.         }
  46.  
  47.         public static void Update()
  48.         {
  49.             CallbackMsg Message = Client.GetCallback();
  50.  
  51.             if (Message == null)
  52.                 return;
  53.  
  54.             Client.FreeLastCallback();
  55.  
  56.             if (Message.IsType<SteamClient.ConnectCallback>())
  57.             {
  58.                 Console.WriteLine("Steam > Logging in.");
  59.                 User.LogOn(new SteamUser.LogOnDetails()
  60.                     {
  61.                         Username = Username,
  62.                         Password = Password,
  63.                         AuthCode = AuthCode
  64.                     });
  65.             }
  66.  
  67.             List<ICallbackHandler> Handlers = new List<ICallbackHandler>(Callbacks);
  68.  
  69.             foreach (ICallbackHandler i in Handlers)
  70.                 i.HandleCallback(Message);
  71.         }
  72.  
  73.         public static void Shutdown()
  74.         {
  75.             User.LogOff();
  76.             Client.Disconnect();
  77.         }
  78.     }
  79. }
Add Comment
Please, Sign In to add comment