我正在尝试使用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);
}
}
}