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!
Vielleicht, weil er C# verwendet? –