SteamKit2 - 没有得到任何回调?

时间:2016-01-14 21:36:13

标签: c# steam

我正在尝试使用SteamKit2和C#创建一个简单的Steam机器人,但我遇到了连接问题。这段代码会问我所有的凭据,但在此之后再也不做任何其他事情(甚至不会到达程序的末尾,认为它停留在while循环中)

代码(http://hastebin.com/idikidixaq.cs):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SteamKit2;
using ProtoBuf;

namespace chatbot
{
    class Program
    {
        static string user, pass;
        static SteamClient steamClient;
        static CallbackManager manager;
        static SteamUser steamUser;
        static bool running = true;

        static void Main(string[] args)
        {
            Console.Title = "Chat Bot\n\n";
            Console.Write("Enter Username: ");
            user = Console.ReadLine();
            Console.Write("Enter Password: ");
            pass = Console.ReadLine();

            SteamLogIn(user, pass);


            Console.ReadKey();
        }

        static void SteamLogIn(string u, string p)
        {
            steamClient = new SteamClient();
            manager = new CallbackManager(steamClient);
            steamUser = steamClient.GetHandler<SteamUser>();

            new Callback<SteamClient.ConnectedCallback>(onConnected, manager);
            new Callback<SteamUser.LoggedOnCallback>(onLogOn, manager);

            steamClient.Connect();
            while (running)
            {
                manager.RunWaitCallbacks(TimeSpan.FromSeconds(1));

            }
        }

        static void onConnected(SteamClient.ConnectedCallback callback)
        {
            if(callback.Result != EResult.OK)
            {
                Console.WriteLine("Error! {0}", callback.Result);
                running = false;
                return;
            }
            Console.WriteLine("Connected to Steam.\nLogging In...\n");
            steamUser.LogOn(new SteamUser.LogOnDetails
            {
                Username = user,
                Password = pass,
            });


        }

        static void onLogOn(SteamUser.LoggedOnCallback callback)
        {
            Console.WriteLine(callback);
        }
    }
}

0 个答案:

没有答案