2016-04-02 5 views
0

Ich habe versucht, einen automatisierten Handel mit der SteamTrade-Bibliothek zu arbeiten, aber ich kann nicht scheinen, die richtige Sitzung (oder irgendeine Sitzung für die Angelegenheit) zu bekommen, wenn ein Thread gestartet wird.Handel mit SteamTrade - wie bekommt man SteamWeb Session?

var steamWeb = new SteamTrade.SteamWeb(); 
       steamWeb.DoLogin(account.AccountName, bot.Password); 
       var tradeMgr = new SteamTrade.TradeManager(Settings.steamApiKey, steamWeb); 


       var botSteamID = new SteamKit2.SteamID(bot.SteamID); 
       var userSteamID = new SteamKit2.SteamID(Data.UserAccounts.Get(bot.CurrentTransaction.UserAccountID.Value).SteamID); 

       if (bot.CurrentTransaction.Status == 0) // outgoing 
       { 
        tradeMgr.InitializeTrade(botSteamID, userSteamID); 
        var trade = tradeMgr.CreateTrade(botSteamID, userSteamID); 
        trade.AddItem(Conversion.toULong(bot.CurrentTransaction.SkinType.ID, 0), bot.CurrentTransaction.SkinType.GameID, 2); 
        trade.OnError += Trade_OnError; trade.OnStatusError += Trade_OnStatusError; trade.OnSuccess += Trade_OnSuccess; 
        tradeMgr.StartTradeThread(trade); 
        while (!trade.HasTradeEnded) 
        { 
         System.Threading.Thread.Sleep(100); 
        } 
       } 

Wenn auf var trade = tradeMgr.CreateTrade(botSteamID, userSteamID); ausfällt, das ist, wo die Handelssitzung nicht sessionIdEsc = Uri.UnescapeDataString(SteamWeb.SessionId); dass Sitzungs-ID ist null init kann (der Rest ist auch null). Wie erzwinge ich dort eine Anmeldung - oder besser, gibt es ein Beispiel dafür, wie man das macht? (und ja, das thread.sleep ist hässlich, aber jetzt will ich, dass es zuerst funktioniert :)) = jede Hilfe ist willkommen!

Antwort

-1

Warum machst du nicht mit Steam-User oder Steamcommunity?

+0

Vielleicht, weil er C# verwendet? –