From 2165818e25713c1065c77778dae4d07d80dd3466 Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sun, 4 Dec 2016 05:50:11 +0100 Subject: [PATCH] First set of fixes --- ArchiSteamFarm/ArchiWebHandler.cs | 3 ++- ArchiSteamFarm/Bot.cs | 9 +++++---- ArchiSteamFarm/Statistics.cs | 2 +- ArchiSteamFarm/Trading.cs | 2 +- resources/Statistics.mwb | Bin 7011 -> 7013 bytes resources/Statistics.mwb.bak | Bin 7010 -> 7011 bytes 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ArchiSteamFarm/ArchiWebHandler.cs b/ArchiSteamFarm/ArchiWebHandler.cs index 18d8733aa..ff5755c79 100644 --- a/ArchiSteamFarm/ArchiWebHandler.cs +++ b/ArchiSteamFarm/ArchiWebHandler.cs @@ -35,6 +35,7 @@ using HtmlAgilityPack; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SteamKit2; +using Formatting = Newtonsoft.Json.Formatting; namespace ArchiSteamFarm { internal sealed class ArchiWebHandler : IDisposable { @@ -847,7 +848,7 @@ namespace ArchiSteamFarm { { "partner", partnerID.ToString() }, { "tradeoffermessage", "Sent by ASF" }, { "json_tradeoffer", JsonConvert.SerializeObject(trade) }, - { "trade_offer_create_params", string.IsNullOrEmpty(token) ? "" : new JObject { { "trade_offer_access_token", token } }.ToString(Newtonsoft.Json.Formatting.None) } + { "trade_offer_create_params", string.IsNullOrEmpty(token) ? "" : new JObject { { "trade_offer_access_token", token } }.ToString(Formatting.None) } })) { if (!await WebBrowser.UrlPostRetry(request, data, referer).ConfigureAwait(false)) { return false; diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 654a395a3..7aec73ee1 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -56,12 +56,13 @@ namespace ArchiSteamFarm { internal readonly ArchiWebHandler ArchiWebHandler; internal readonly string BotName; - internal bool HasMobileAuthenticator => BotDatabase.MobileAuthenticator != null; - internal bool IsConnectedAndLoggedOn => SteamClient.IsConnected && (SteamClient.SteamID != null); + internal bool HasMobileAuthenticator => BotDatabase?.MobileAuthenticator != null; + internal bool HasValidApiKey => !string.IsNullOrEmpty(BotConfig?.SteamApiKey) && (BotConfig.SteamApiKey.Length == 32); + internal bool IsConnectedAndLoggedOn => (SteamClient?.IsConnected == true) && (SteamClient.SteamID != null); internal bool IsPlayingPossible => !PlayingBlocked && (LibraryLockedBySteamID == 0); [JsonProperty] - internal ulong SteamID => SteamClient.SteamID ?? 0; + internal ulong SteamID => SteamClient?.SteamID ?? 0; private readonly BotDatabase BotDatabase; private readonly CallbackManager CallbackManager; @@ -1713,7 +1714,7 @@ namespace ArchiSteamFarm { } Dictionary ownedGames; - if (!string.IsNullOrEmpty(BotConfig.SteamApiKey)) { + if (HasValidApiKey) { ownedGames = ArchiWebHandler.GetOwnedGames(SteamClient.SteamID); } else { ownedGames = await ArchiWebHandler.GetOwnedGames().ConfigureAwait(false); diff --git a/ArchiSteamFarm/Statistics.cs b/ArchiSteamFarm/Statistics.cs index 8627ffd67..182cd3c6f 100644 --- a/ArchiSteamFarm/Statistics.cs +++ b/ArchiSteamFarm/Statistics.cs @@ -83,7 +83,7 @@ namespace ArchiSteamFarm { const string request = SharedInfo.StatisticsServer + "/api/LoggedOn"; Dictionary data = new Dictionary(4) { { "SteamID", Bot.SteamID.ToString() }, - { "HasMobileAuthenticator", Bot.HasMobileAuthenticator ? "1" : "0" }, + { "HasAutomatedTrading", Bot.HasMobileAuthenticator && Bot.HasValidApiKey ? "1" : "0" }, { "SteamTradeMatcher", Bot.BotConfig.TradingPreferences.HasFlag(BotConfig.ETradingPreferences.SteamTradeMatcher) ? "1" : "0" }, { "MatchEverything", Bot.BotConfig.TradingPreferences.HasFlag(BotConfig.ETradingPreferences.MatchEverything) ? "1" : "0" } }; diff --git a/ArchiSteamFarm/Trading.cs b/ArchiSteamFarm/Trading.cs index b41ebafba..364461b4a 100644 --- a/ArchiSteamFarm/Trading.cs +++ b/ArchiSteamFarm/Trading.cs @@ -90,7 +90,7 @@ namespace ArchiSteamFarm { internal void OnDisconnected() => IgnoredTrades.ClearAndTrim(); private async Task ParseActiveTrades() { - if (string.IsNullOrEmpty(Bot.BotConfig.SteamApiKey)) { + if (!Bot.HasValidApiKey) { return; } diff --git a/resources/Statistics.mwb b/resources/Statistics.mwb index 1f96f222d1406abe83a7222fb1912b5c78226b36..7fba134385c279203d96d7a048897843ab149133 100644 GIT binary patch delta 6151 zcmV+i82IPoHsv-GP)h>@6aWAK2mtskgh_Qbrcs8G6Dxnh4S?V+C+Ru7fIXi0HkLcd zJo!)*EHkD^g`{jNbN0V4KwT``B*hEj_C@`WNVM^}02J!0DguQc{(e7+_HJ34g-QJ5 zK01K=fB*cKA4Y!e?~T*^@+wIue*WV==0DgQCBbaM;`}n7PuY+A$MeCzj`n^@(wiZR zgX_KHWW;}>{Y@}(K=wcXWpD3?TR)nyy+yNR_!|rI{k<$tXF(2Pf5IQ$txyi!X`iB8Z5YG!A&-s{J0PAb)=x-m1!0d zw38u9#$n(`2g@E6f*92BR7e~^u;p?=Faj1b9N>T02B8!|#X)YlAXfxqsOWqEZ`l0D z{U!JUdm-Cey31*vUh+1}f0!uPH7(w9A$AmIT<9Q)b3Q=eaaUGPw{*!3{c-9~ma>c% z-?IHr4FoaNwIHKV{K*0$m}Pk~ak;`Y0#Ql#-b}=h9US}V4NI4QeNudBCO@TR@+Z@r zYwLe=gvBrNzaPfq<*y1U_CNpdsrZHUuSa2gQ>Rv6()@J!eDMeGVlMvYW}5xOCjr0I z;LSf=(@)~cP?%G`j&DPDcjm`p4J<_8e6}94YEh^zMR%vy^K5fH7P71!7SFQ%(%IXx z%%9>G>l`7IxF(+r1M?+LJc5C3s~EV7V|ag-qY%$i%h$PjWtiFs8EaXZNHZE9Oy=3| z(SgHP5MQJ#DKIxD$aaCSIe_Sj$(4hsfSOdb424jg;BqMp?2il%Ul-t>B7jqOO0Z za?`H@7jh~fnx_F1hTf)UYb13B#dD0*s#sQoFE`Dq%RzlUW|dk0vMGc=Tj) zwn*dFL)awXIH2N(QdySY+r z8IsN8B%ZI_hivh!-3amZ(O-@We;9wQ1|=7tvu6vb)v8|N6^q(YsjWd|0gHbEVhsbE zKm#UWrtE$w~*J9W5?Vi&8qGJThlR6ZDcvbwh(_&t@4=} z`i8+U3MvGu99n;tCx>y6vLYm@9pCynX7|&SWg;-Do#7f$#*F)oe$GaH#8`t2@+9@g zter5Apn_{Z^@E(H1D2nZdB!ai&~|$%pd)75;a+^6`cId|bKBIQYe^LOA}naruM(Wm z(t6YTX%q%we&!d!Ru4dS<+Ne z@A&7hCxgQ;C)C|0VyD3fvy&uWi~;I~5G~C%=-8f{g&uN?WS^^v&pyz}|G&l~G?49p3t>Siawy5B*y%P{#*bu_8srjuqRpB77C3h`e3= zDJ%Yb`+S>+@%$CUpPU;nh3%dQTX)IL!ifJyf94gilVli1OrT$LNyEVBmh@xMu!&vE zqMiW=bag;n*95j{*qoIui#WOt6=Lsb_|4Iv-Z#j+l|SZU(e6!$;IWx;V~UtSjT63rzd+~&s^(*?mhe2t6*uYy`49> z5||Xc3o4zkEcYkV%d2lqr;(rKm$T_e*suOn+6L`4(rD9t(od!$j=7jzI|oa@wiC?K zEI7|7K$y)K^}>8?dl!J0!!T~YFMPxzfBqAj|B{9|>%4zCTtN~xhkHrN!g0)nSy{LB zg9;m0Cy^&XqQiK^?pH=L9)$suuv>izS~zPOr8>k&0XFnZuKUIIIU56;BF$74s_T_$ z62(U<3DAD~)$K>)gwOW%q=z>m=Quzy6fMpKbQ$SK&aqBiT~!hHh82}N#|H6$feizw zrmbL)yUu?muGq7vVNHQUC8&|C`s_s^!s_hCHrGH7Pt-2?EMW1dp(G9H^U(~Z?24u0 zOw?%k_;a%(8TG{3;n1yAl4`V2w{<~cTI5mpL!swCg9Lorl3sGm;_&w#`OM|4u+izPSE3+D8TUxJzuqsE?KQ1c&|(E}hnahP@wk&7ByJRssc++!K91Cb_LD=VG0>7d!RPCU&*fI@@Y zeTaWJi9t#L);(9#T-_v&`uZF+U7Wpe-lBu%nih2tfk5~K+(9!r<5I%~mWFg{sFtCr z=FUNr?VvT8=8Z<5|FPO$=N^R0dKhg zqn&^|-R`N|wvA0nRRTO{5#%J_ShD7f|&UC=gD2xwKYq}>@eo` zFYkl!HQr{1YXHKyM+ahdpIeK~HXRYBesEK~PU}!XYU-zXC@9EDX504p)RpnkB;?(|lPfw+M_(}cC!_rY&V$fzAlC}*PA93p;r2{+8+!Aa-dL1#c>@G>`y_qI{ z>GQXv(*=);celM?mQ;5j^}~^KJ&XI;kTpiu1E9wwq{*FE6in{eKFj?)6IS4y1%4Ft zK{*pun6rGFJ6E*F@xYj?*fR)0@f2Aq!?jYk=gXfo<~UZml8ysi|TFTOP)jLjfo zkk5vlw4XPf^Yu6B*!Y5bgGstIe5rRQ3xGk8v{B41;YYL314E<%gaIUb5PpA;)K02F zRoW#CX&!=XN~wOYnC-`{VK}n=@S2}<-4BDT52M${GmXj@cOmmeu}r^2M5B{>TSu_s z2UU-2N~kIlEY{B-}wpNx(gX@3r($B7{+V?V0jmqGc8>k+}sk>onQa!77z)BvLJ*p{( zgQQeKPj6Xz#7A{q3w`yVaq)iF@?_Qd&I(s@v)H$I&_a^F=UN|3YRTE3r~4&JG``}D zfk4SvE^4N#WlG#0X~Y6U4pJ~RR451PdMZh#nZfx_=7xVISw52HY?%s{#y`JJCz(8hGZ_+TU`Ue&RW@GjA|+_G3ClYq zUaG}uoNg(DXmaLx^UAX&^72{dq+i|bTm9*z@K zHlM9qMmuj6ZM1)AtKLL(O5(q!9I@$m=AV}%e({`eF{!(JaI<`H(=>2w;$BJ5d|p+6Bq_(q6Oa|{oenhjh+#EC4`1GZyxTc<0I zt727kkoUHT@WQf>Xg40D`k&2%1A0WAi?>6Cjh5~Er9yv~!goZ4#p|jAJ|3fl$hIG%i6vee&RURi2?Hh9MQgBt_|DvFB`*tqxU~RisM){5G(mRg3 z@%y8E4isMPqV8`_`L3bbhRwMInjRl4#QDXvJwAVS8edc<)ExyX@+jZ_#!>gSD@k7u ztcZB>&q)&gP&eyj@ zij7w8JAN-~zNch#n#}SrW(Vw^1+$#(cu_7dw%UHS?ZwwNlBl`XV)d~5!IUQVNOeHV zCVqbu$%Er67|tg0@Z=#4!?8TDt0?hhVR2g+NrD z;eN}KSeA9;?w+_tN-|veg;X5@rRm#5CX|1)F3y=WOS!%fOg5gh&W>3!VYxKxJ5A&{ zGrR>`c-hi~i{@i#D|Iz;;sV6QHDR)>-7LyOnFCn>N*~Rom@!PbNiMHfJYm@N`jZ}YSuJ$Et)alpiZCH);$@r-H#Jv@?^P|fBDAJYh zcw_W|6$-yTg{pfm_yQU=;2zYGP${j4O5qQzQp)R7soHnLFQ8M$)II!qER@RZp;XET zR;pL%lz%&QDiQ~%hbEB^tVyrXA+O#b@&d|aAAS+~gkcYT`p7OhD=wAT87F^f#)(#+ zOL_PDBz7&Vx68a%KdNe5#fv#o_R*=`QNNB(PrmH^Y@OSOC)JnCe-t$n8^&I%l2z?` zdNC!tpub-9R5Iru)`zxaJKg$obnBz))Fd2@B32xN*ku@`XBdtTUH6D`h>xmX@od7< zFxb6Smj71yPFTRioBd4!u6Tsyc@90!k$u?(SQvL~F~r zc-`5DcE<`e+6sY|FfDqNO<)N42O<(0FRMU4@bbX*kWR?|84Py<+t3gcpuy>56}Ku8J?&eywNGR3D1V zELZT0T6mgmVAX>_$2#N-A1T15oF|b2A<-?vR%nGzC__Y85Dd4KgV`*k5zQuXM(?M7 zJQ50ms&7RuN4QE-7LMbe*n9&8wnYi!Q5dj32z&@8ej5J4+%TI){=Aann>xV7#B5$L z%5AcvQd@(_0v3P&1jMa4z$Op@&!8UkJdCMYQvtMG@YNmkt^5AOnnwv|jsG$Y+jFh9 zgU8y=zo;3oY9VI|@j2U47OaZ}*~V?~K(vMJr`l3w+MjGTJSsIoTR5(f_;vh-;l@8)JC5Io>$);s zr@DV_S;+1k{5{HSWNcYKp-Doz$AWK@D4R`1p%Z_*-j|c8X;o17_1a$5Y~HQeA4xJ1 za#yu{p8jc`S6Z0$hn&)yNIz92$!c;-um|OQN%KL@qtg+WWyLu$|M)ne)F2WpGF0c{ zCC7@hi_hh6K%Qmfsxwx4zr@*~;PTblD!w$%m6iHu**p%;(&Q?9Qros>e)<%$f13Er z{jq<;*Wx%yL)JFYwt=;{I!0Aom)I(x3c`Sg=o&CpjR2Jxs;jH6XBxE9Jqr}3s{8Gn zWqX#1x+~e<`7C0R6X)HW+{SCTOhFXV!}7D-Ke+J657XLi#g#E_FiTVZhgJ_eQf^I$ zHK%z^*BTfH_GQdtKfPHyPLtwG(^YMthEac4Yv-Y}?h*~U7St(FAmP(wb1k-9M+FWh z2tm)`#QF5zx<`Nf@t5kZTV%`htA5Mg^4#aPVKi78 z*Js{XD>SDlI(!(9*!^=yqZN{yCey4Z#$j>uO<$D71>!Q~`I@nw2*3Dg%r&{IASZu` z_mh{T{l?`a5iiTLe{#h;+b9O!5$orW-JL~#z^;>MBe zuCf;o8}X*=?;BC*-SD7zUhFBq^T`vps-m}9;EOzydeE+CrH@ldT#Wv(Oi%0txsngh_Qbrcs8Iei~B&w3E^rF(BI)002N_VlQN2bYU)J ZVo*y31^@s600RI60I2`~0Be&Y8$e>OAq)Tj delta 6124 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 diff --git a/resources/Statistics.mwb.bak b/resources/Statistics.mwb.bak index da2cd2e7cf9e8c3b3e2c61648116f08b31bf3221..1f96f222d1406abe83a7222fb1912b5c78226b36 100644 GIT binary patch delta 299 zcmV+`0o4BDHsdxEP)h>@6aWAK2mqQ8gh>HP;hcoA6Rj2j(v!g!D1Tt>MhkZ1F7A{s zaqeV3Z}@5~*Fx9N-7y=mG|esCLf4UwH16maKyoaHJBBiMay4iJsB7Fcw4sV@qhuS+ z$Wv8aRaY~ziCs918?htzNydI?Mrpc;AqnsO#=rbsN+nOez&g%zRZ34H`sP2SC_1f1 zx>)4RL_l3;38)r8PfGWP@K7dP1;W!PPGi?kn`+%+_PNSlK5oRDuD@?Yq4&dH{yg7* z=aOe`RY`9X&&~2oa<5s>3LV8=SU}ZMu0MYMlHP;hcn% xeHv2%vXjvoF(BC&002N_VlQN2bYU)JVo*y31^@s600RI60I2`~0BMsV8$dAtfoK2# delta 306 zcmV-20nPs7HsUrDP)h>@6aWAK2mlxmgh}u@sY`>g6Rj2j*ptB)D1Ykrdckho#hvmc z&YjHX4PTArTIl+@J7xoxrn!Y%=sMDo#vL64NRH)j$57@@t_E!Yb&b1*HdK*qlx(9J zd8(?b>S{(du?vTBBX;CI$=DCgC`}hJB;mc^_?N#+spQEQSjTy;O6f^N-~6W(MW@wB z7mK`^2&l^}0o4NN=}rC+9?FEPKzJI(Y3%xGQ>|OfK3Cbx$BlT?_4kb^^nTdOpXdAU zT=LAVD(P+Fxmlh`?ltRKp`*A93#eMk^~cYjvYm=YfBAn81P)h{{000000{{a6sQ>@~Xp