Exemplo n.º 1
0
        // ReSharper disable once SuggestBaseTypeForParameter
        protected SteamKitBot(ISteamKitBotSettings settings, ILogger botLogger) : base(settings, botLogger)
        {
            CancellationTokenSource = new CancellationTokenSource();
            SteamClient             = new SteamClient(
                SteamConfiguration.Create(
                    builder =>
            {
                if (settings.ConnectionTimeout != null)
                {
                    builder.WithConnectionTimeout(
                        TimeSpan.FromSeconds(settings.ConnectionTimeout.Value)
                        );
                }

                if (!string.IsNullOrWhiteSpace(settings.ApiKey))
                {
                    builder.WithWebAPIKey(settings.ApiKey);
                }
            }
                    )
                );
            CallbackManager = new CallbackManager(SteamClient);
            SteamUser       = SteamClient.GetHandler <SteamUser>();
            SteamFriends    = SteamClient.GetHandler <SteamFriends>();

            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamClient.ConnectedCallback>(OnInternalSteamClientConnected)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamClient.DisconnectedCallback>(OnInternalSteamClientDisconnect)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.LoggedOnCallback>(OnInternalSteamUserLoggedOn)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.LoggedOffCallback>(OnInternalSteamUserLoggedOff)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.LoginKeyCallback>(OnInternalSteamUserLoginKeyExchange)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.WebAPIUserNonceCallback>(OnInternalSteamUserNewWebApiUserNonce)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.UpdateMachineAuthCallback>(OnInternalSteamUserUpdateMachineAuthenticationCallback)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.AccountInfoCallback>(OnInternalAccountInfoAvailable)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.WalletInfoCallback>(OnInternalWalletInfoAvailable)
                );
        }
Exemplo n.º 2
0
        // ReSharper disable once SuggestBaseTypeForParameter
        protected SteamKitBot(ISteamKitBotSettings settings, ILogger botLogger) : base(settings, botLogger)
        {
            CancellationTokenSource = new CancellationTokenSource();

            SteamClient     = new SteamClient();
            CallbackManager = new CallbackManager(SteamClient);
            SteamUser       = SteamClient.GetHandler <SteamUser>();
            SteamFriends    = SteamClient.GetHandler <SteamFriends>();

            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamClient.ConnectedCallback>(OnInternalSteamClientConnected)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamClient.DisconnectedCallback>(OnInternalSteamClientDisconnect)
                );

            SubscribedCallbacks.Add(CallbackManager.Subscribe <SteamUser.LoggedOnCallback>(OnInternalSteamUserLoggedOn)
                                    );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.LoggedOffCallback>(OnInternalSteamUserLoggedOff)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.LoginKeyCallback>(OnInternalSteamUserLoginKeyExchange)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.WebAPIUserNonceCallback>(OnInternalSteamUserNewWebApiUserNonce)
                );
            SubscribedCallbacks.Add(CallbackManager.Subscribe <SteamUser.UpdateMachineAuthCallback>(
                                        OnInternalSteamUserUpdateMachineAuthenticationCallback)
                                    );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.AccountInfoCallback>(OnInternalAccountInfoAvailable)
                );
            SubscribedCallbacks.Add(
                CallbackManager.Subscribe <SteamUser.WalletInfoCallback>(OnInternalWalletInfoAvailable)
                );
        }