mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2025-12-29 20:50:47 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17a78ac46e | ||
|
|
c58ecd7762 | ||
|
|
c81fd05755 | ||
|
|
a06fb49232 |
@@ -80,7 +80,7 @@
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.5.0.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.5.0-beta8\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.5.0-beta9\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Humanizer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll</HintPath>
|
||||
|
||||
@@ -60,14 +60,16 @@ namespace ArchiSteamFarm {
|
||||
|
||||
private static int Timeout = GlobalConfig.DefaultConnectionTimeout * 1000; // This must be int type
|
||||
|
||||
private readonly SemaphoreSlim ApiKeySemaphore = new SemaphoreSlim(1);
|
||||
private readonly Bot Bot;
|
||||
private readonly SemaphoreSlim PublicInventorySemaphore = new SemaphoreSlim(1);
|
||||
private readonly SemaphoreSlim SessionSemaphore = new SemaphoreSlim(1);
|
||||
private readonly SemaphoreSlim SteamApiKeySemaphore = new SemaphoreSlim(1);
|
||||
private readonly SemaphoreSlim TradeTokenSemaphore = new SemaphoreSlim(1);
|
||||
private readonly WebBrowser WebBrowser;
|
||||
|
||||
private string CachedApiKey;
|
||||
private bool? CachedPublicInventory;
|
||||
private string CachedSteamApiKey;
|
||||
private string CachedTradeToken;
|
||||
private DateTime LastSessionRefreshCheck = DateTime.MinValue;
|
||||
private ulong SteamID;
|
||||
|
||||
@@ -77,9 +79,10 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
ApiKeySemaphore.Dispose();
|
||||
PublicInventorySemaphore.Dispose();
|
||||
SessionSemaphore.Dispose();
|
||||
SteamApiKeySemaphore.Dispose();
|
||||
TradeTokenSemaphore.Dispose();
|
||||
}
|
||||
|
||||
internal async Task<bool> AcceptTradeOffer(ulong tradeID) {
|
||||
@@ -732,6 +735,56 @@ namespace ArchiSteamFarm {
|
||||
return null;
|
||||
}
|
||||
|
||||
internal async Task<string> GetTradeToken() {
|
||||
if (CachedTradeToken != null) {
|
||||
return CachedTradeToken;
|
||||
}
|
||||
|
||||
await TradeTokenSemaphore.WaitAsync().ConfigureAwait(false);
|
||||
|
||||
try {
|
||||
if (CachedTradeToken != null) {
|
||||
return CachedTradeToken;
|
||||
}
|
||||
|
||||
const string request = SteamCommunityURL + "/my/tradeoffers/privacy?l=english";
|
||||
HtmlDocument htmlDocument = await WebBrowser.UrlGetToHtmlDocumentRetry(request).ConfigureAwait(false);
|
||||
|
||||
if (htmlDocument == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
HtmlNode tokenNode = htmlDocument.DocumentNode.SelectSingleNode("//input[@class='trade_offer_access_url']");
|
||||
if (tokenNode == null) {
|
||||
Bot.ArchiLogger.LogNullError(nameof(tokenNode));
|
||||
return null;
|
||||
}
|
||||
|
||||
string value = tokenNode.GetAttributeValue("value", null);
|
||||
if (string.IsNullOrEmpty(value)) {
|
||||
Bot.ArchiLogger.LogNullError(nameof(value));
|
||||
return null;
|
||||
}
|
||||
|
||||
int index = value.IndexOf("token=", StringComparison.Ordinal);
|
||||
if (index < 0) {
|
||||
Bot.ArchiLogger.LogNullError(nameof(index));
|
||||
return null;
|
||||
}
|
||||
|
||||
index += 6;
|
||||
if (index + 8 < value.Length) {
|
||||
Bot.ArchiLogger.LogNullError(nameof(index));
|
||||
return null;
|
||||
}
|
||||
|
||||
CachedTradeToken = value.Substring(index, 8);
|
||||
return CachedTradeToken;
|
||||
} finally {
|
||||
TradeTokenSemaphore.Release();
|
||||
}
|
||||
}
|
||||
|
||||
internal async Task<bool?> HandleConfirmation(string deviceID, string confirmationHash, uint time, uint confirmationID, ulong confirmationKey, bool accept) {
|
||||
if (string.IsNullOrEmpty(deviceID) || string.IsNullOrEmpty(confirmationHash) || (time == 0) || (confirmationID == 0) || (confirmationKey == 0)) {
|
||||
Bot.ArchiLogger.LogNullError(nameof(deviceID) + " || " + nameof(confirmationHash) + " || " + nameof(time) + " || " + nameof(confirmationID) + " || " + nameof(confirmationKey));
|
||||
@@ -946,8 +999,8 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
internal void OnDisconnected() {
|
||||
CachedApiKey = CachedTradeToken = null;
|
||||
CachedPublicInventory = null;
|
||||
CachedSteamApiKey = null;
|
||||
SteamID = 0;
|
||||
}
|
||||
|
||||
@@ -1025,18 +1078,18 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
private async Task<string> GetApiKey() {
|
||||
if (CachedSteamApiKey != null) {
|
||||
if (CachedApiKey != null) {
|
||||
// We fetched API key already, and either got valid one, or permanent AccessDenied
|
||||
// In any case, this is our final result
|
||||
return CachedSteamApiKey;
|
||||
return CachedApiKey;
|
||||
}
|
||||
|
||||
// We didn't fetch API key yet
|
||||
await SteamApiKeySemaphore.WaitAsync().ConfigureAwait(false);
|
||||
await ApiKeySemaphore.WaitAsync().ConfigureAwait(false);
|
||||
|
||||
try {
|
||||
if (CachedSteamApiKey != null) {
|
||||
return CachedSteamApiKey;
|
||||
if (CachedApiKey != null) {
|
||||
return CachedApiKey;
|
||||
}
|
||||
|
||||
(ESteamApiKeyState State, string Key)? result = await GetApiKeyState().ConfigureAwait(false);
|
||||
@@ -1049,7 +1102,7 @@ namespace ArchiSteamFarm {
|
||||
case ESteamApiKeyState.AccessDenied:
|
||||
// We succeeded in fetching API key, but it resulted in access denied
|
||||
// Cache the result as empty, API key is unavailable permanently
|
||||
CachedSteamApiKey = string.Empty;
|
||||
CachedApiKey = string.Empty;
|
||||
break;
|
||||
case ESteamApiKeyState.NotRegisteredYet:
|
||||
// We succeeded in fetching API key, and it resulted in no key registered yet
|
||||
@@ -1070,7 +1123,7 @@ namespace ArchiSteamFarm {
|
||||
case ESteamApiKeyState.Registered:
|
||||
// We succeeded in fetching API key, and it resulted in registered key
|
||||
// Cache the result, this is the API key we want
|
||||
CachedSteamApiKey = result.Value.Key;
|
||||
CachedApiKey = result.Value.Key;
|
||||
break;
|
||||
default:
|
||||
// We got an unhandled error, this should never happen
|
||||
@@ -1078,9 +1131,9 @@ namespace ArchiSteamFarm {
|
||||
break;
|
||||
}
|
||||
|
||||
return CachedSteamApiKey;
|
||||
return CachedApiKey;
|
||||
} finally {
|
||||
SteamApiKeySemaphore.Release();
|
||||
ApiKeySemaphore.Release();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -348,7 +348,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by bot's name query (string)</comment>
|
||||
</data>
|
||||
<data name="BotStatusOverview" xml:space="preserve">
|
||||
<value>Es laufen derzeit {0}/{1} Bots, mit insgesamt {2} Spiel(en) ({3} Karte[n]) übrig zum Sammlen.</value>
|
||||
<value>Es laufen derzeit {0}/{1} Bots, mit insgesamt {2} Spiel(en) ({3} Karte[n]) übrig zum Sammeln.</value>
|
||||
<comment>{0} will be replaced by number of active bots, {1} will be replaced by total number of bots, {2} will be replaced by total number of games left to idle, {3} will be replaced by total number of cards left to idle</comment>
|
||||
</data>
|
||||
<data name="BotStatusIdling" xml:space="preserve">
|
||||
|
||||
@@ -690,5 +690,8 @@ Trazo de pila:
|
||||
<data name="WarningPreReleaseVersion" xml:space="preserve">
|
||||
<value>Está utilizando una versión que es más reciente que la última versión liberada para su canal de actualización. Por favor, tenga en cuenta que las versiones preliminares están dedicadas a usuarios que saben cómo reportar errores, tratar con problemas y dar sus comentarios - no se dará soporte técnico.</value>
|
||||
</data>
|
||||
|
||||
<data name="BotStats" xml:space="preserve">
|
||||
<value>Uso de memoria actual: {0} MB.</value>
|
||||
<comment>{0} will be replaced by number (in megabytes) of memory being used</comment>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -693,5 +693,8 @@ ASF 실행 파일의 이름이 적절한지 확인하시기 바랍니다!</value
|
||||
<data name="WarningPreReleaseVersion" xml:space="preserve">
|
||||
<value>마지막으로 릴리즈된 버전보다 최신 버전을 사용 중입니다. 시험판 버전은 버그 리포트, 문제 해결, 피드백을 제공하는 법을 아는 유저에게만 제공됩니다. - 기술 지원은 제공되지 않습니다.</value>
|
||||
</data>
|
||||
|
||||
<data name="BotStats" xml:space="preserve">
|
||||
<value>현재 메모리 사용량: {0} MB.</value>
|
||||
<comment>{0} will be replaced by number (in megabytes) of memory being used</comment>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -152,7 +152,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by URL of the request</comment>
|
||||
</data>
|
||||
<data name="ErrorGlobalConfigNotLoaded" xml:space="preserve">
|
||||
<value>A configuração global não pôde ser carregada, tenha certeza que {0} existe e é válido! se estiver com alguma dúvida, siga o guia de configuração na Wiki.</value>
|
||||
<value>A configuração global não pôde ser carregada. Confirme que {0} existe e é válido! Siga o guia "setting up" (configuração) na wiki caso esteja confuso.</value>
|
||||
<comment>{0} will be replaced by file's path</comment>
|
||||
</data>
|
||||
<data name="ErrorIsInvalid" xml:space="preserve">
|
||||
@@ -163,7 +163,7 @@ StackTrace:
|
||||
<value>Recusando a execução desta função devido ao DeviceID inválido no ASF 2FA!</value>
|
||||
</data>
|
||||
<data name="ErrorNoBotsDefined" xml:space="preserve">
|
||||
<value>Nenhum bot configurado, será que você não esqueceu de configurar o seu ASF?</value>
|
||||
<value>Nenhum bot configurado, será que você não esqueceu de algo?</value>
|
||||
</data>
|
||||
<data name="ErrorObjectIsNull" xml:space="preserve">
|
||||
<value>{0} é nulo!</value>
|
||||
@@ -469,7 +469,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by generated 2FA token (string)</comment>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingNowPaused" xml:space="preserve">
|
||||
<value>O processo de farm automático foi pausado!</value>
|
||||
<value>O processo de coleta automático foi pausado!</value>
|
||||
</data>
|
||||
<data name="BotAutomaticIdlingNowResumed" xml:space="preserve">
|
||||
<value>O processo de farm automático foi retomado!</value>
|
||||
@@ -521,7 +521,7 @@ StackTrace:
|
||||
<value>Proposta de troca falhou!</value>
|
||||
</data>
|
||||
<data name="BotLootingMasterNotDefined" xml:space="preserve">
|
||||
<value>A Troca não pode ser enviada porque não há nenhum usuário com permissão master definida!</value>
|
||||
<value>A troca não pode ser enviada porque não há nenhum usuário com permissão "master" definida!</value>
|
||||
</data>
|
||||
<data name="BotLootingNoLootableTypes" xml:space="preserve">
|
||||
<value>Você não configurou nenhum tipo de item para coletar!</value>
|
||||
@@ -615,7 +615,7 @@ StackTrace:
|
||||
<value>Conexão com a rede Steam perdida. Reconectando...</value>
|
||||
</data>
|
||||
<data name="BotAccountFree" xml:space="preserve">
|
||||
<value>A conta não está mais sendo usada, resumindo processo de farm!</value>
|
||||
<value>A conta não está mais sendo usada: processo de coleta de cartas retomado!</value>
|
||||
</data>
|
||||
<data name="BotAccountOccupied" xml:space="preserve">
|
||||
<value>A conta está sendo usada no momento, o ASF voltará a farmar quando ela estiver livre...</value>
|
||||
@@ -648,7 +648,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by service name that is being initialized</comment>
|
||||
</data>
|
||||
<data name="WarningPrivacyPolicy" xml:space="preserve">
|
||||
<value>Por favor revise a seção de política de privacidade na nossa wiki se você está preocupado com o que o ASF realmente está fazendo!</value>
|
||||
<value>Por favor, consulte a nossa seção de política de privacidade na wiki caso esteja preocupado com o que o ASF está de fato fazendo!</value>
|
||||
</data>
|
||||
<data name="Welcome" xml:space="preserve">
|
||||
<value>Parece que é a sua primeira vez abrindo o programa, bem-vindo(a)!</value>
|
||||
@@ -661,7 +661,7 @@ StackTrace:
|
||||
<comment>{0} will be replaced by culture code, such as "en-US", {1} will be replaced by completeness percentage, such as "78.5%"</comment>
|
||||
</data>
|
||||
<data name="IdlingGameNotPossible" xml:space="preserve">
|
||||
<value>O farm de {0} ({1}) está temporariamente desativado, pois o ASF não é capaz de farmar esse jogo neste momento.</value>
|
||||
<value>{0} processo de receber cartas para ({1}) está temporariamente desativado, o ASF não é capaz de jogar este jogo no momento.</value>
|
||||
<comment>{0} will be replaced by game's ID (number), {1} will be replaced by game's name</comment>
|
||||
</data>
|
||||
<data name="WarningIdlingGameMismatch" xml:space="preserve">
|
||||
@@ -691,5 +691,8 @@ StackTrace:
|
||||
<data name="WarningPreReleaseVersion" xml:space="preserve">
|
||||
<value>Você está usando uma versão que é mais nova que a última lançada para seu canal de atualizações. Por favor, tenha em mente que versões não finalizadas são dedicadas à usuários que sabem como reportar bugs, lidar com problemas e dar feedback - Nenhum suporte técnico será dado.</value>
|
||||
</data>
|
||||
|
||||
<data name="BotStats" xml:space="preserve">
|
||||
<value>Uso de memória atual: {0} MB.</value>
|
||||
<comment>{0} will be replaced by number (in megabytes) of memory being used</comment>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace ArchiSteamFarm {
|
||||
internal const string ServiceDescription = "ASF is an application that allows you to farm steam cards using multiple steam accounts simultaneously.";
|
||||
internal const string ServiceName = "ArchiSteamFarm";
|
||||
internal const string StatisticsServer = "asf.justarchi.net";
|
||||
internal const string VersionNumber = "2.3.2.0";
|
||||
internal const string VersionNumber = "2.3.2.1";
|
||||
|
||||
internal static readonly Version Version = Assembly.GetEntryAssembly().GetName().Version;
|
||||
}
|
||||
|
||||
@@ -98,7 +98,8 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
// Don't announce if we don't meet conditions
|
||||
if (!Bot.HasMobileAuthenticator || !Bot.BotConfig.TradingPreferences.HasFlag(BotConfig.ETradingPreferences.SteamTradeMatcher) || !await Bot.ArchiWebHandler.HasValidApiKey().ConfigureAwait(false) || !await Bot.ArchiWebHandler.HasPublicInventory().ConfigureAwait(false)) {
|
||||
string tradeToken;
|
||||
if (!Bot.HasMobileAuthenticator || !Bot.BotConfig.TradingPreferences.HasFlag(BotConfig.ETradingPreferences.SteamTradeMatcher) || !await Bot.ArchiWebHandler.HasValidApiKey().ConfigureAwait(false) || !await Bot.ArchiWebHandler.HasPublicInventory().ConfigureAwait(false) || string.IsNullOrEmpty(tradeToken = await Bot.ArchiWebHandler.GetTradeToken().ConfigureAwait(false))) {
|
||||
LastAnnouncementCheck = DateTime.UtcNow;
|
||||
ShouldSendHeartBeats = false;
|
||||
return;
|
||||
@@ -139,12 +140,13 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
string request = await GetURL().ConfigureAwait(false) + "/api/Announce";
|
||||
Dictionary<string, string> data = new Dictionary<string, string>(6) {
|
||||
Dictionary<string, string> data = new Dictionary<string, string>(7) {
|
||||
{ "SteamID", Bot.SteamID.ToString() },
|
||||
{ "Guid", Program.GlobalDatabase.Guid.ToString("N") },
|
||||
{ "Nickname", nickname },
|
||||
{ "AvatarHash", avatarHash },
|
||||
{ "MatchEverything", matchEverything ? "1" : "0" },
|
||||
{ "TradeToken", tradeToken },
|
||||
{ "CardsCount", inventory.Count.ToString() }
|
||||
};
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<packages>
|
||||
<package id="Costura.Fody" version="1.6.2" targetFramework="net461" developmentDependency="true" />
|
||||
<package id="Fody" version="2.1.0" targetFramework="net461" developmentDependency="true" />
|
||||
<package id="HtmlAgilityPack" version="1.5.0-beta8" targetFramework="net461" />
|
||||
<package id="HtmlAgilityPack" version="1.5.0-beta9" targetFramework="net461" />
|
||||
<package id="Humanizer" version="2.2.0" targetFramework="net461" />
|
||||
<package id="Humanizer.Core" version="2.2.0" targetFramework="net461" />
|
||||
<package id="Humanizer.Core.af" version="2.2.0" targetFramework="net461" />
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
<value>Du kan ikke omdøbe global konfiguration!</value>
|
||||
</data>
|
||||
<data name="ErrorConfigDirectoryNotFound" xml:space="preserve">
|
||||
<value>Konfigurationsmappe kunne ikke blive fundet!</value>
|
||||
<value>Konfigurationsmappe blev ikke fundet!</value>
|
||||
</data>
|
||||
<data name="ErrorConfigPropertyInvalid" xml:space="preserve">
|
||||
<value>Konfigureret {0} egenskab er forkert: {1}</value>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.5.0.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.5.0-beta8\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.5.0-beta9\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Humanizer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll</HintPath>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<packages>
|
||||
<package id="Costura.Fody" version="1.6.2" targetFramework="net461" developmentDependency="true" />
|
||||
<package id="Fody" version="2.1.0" targetFramework="net461" developmentDependency="true" />
|
||||
<package id="HtmlAgilityPack" version="1.5.0-beta8" targetFramework="net461" />
|
||||
<package id="HtmlAgilityPack" version="1.5.0-beta9" targetFramework="net461" />
|
||||
<package id="Humanizer" version="2.2.0" targetFramework="net461" />
|
||||
<package id="Humanizer.Core" version="2.2.0" targetFramework="net461" />
|
||||
<package id="Humanizer.Core.af" version="2.2.0" targetFramework="net461" />
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1121,6 +1121,58 @@
|
||||
</summary>
|
||||
<returns>The saved string.</returns>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
<param name="throwError">true to throw Error if class name exists, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.Boolean)">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="T:HtmlAgilityPack.HtmlNodeCollection">
|
||||
<summary>
|
||||
Represents a combined list and collection of HTML nodes.
|
||||
Binary file not shown.
@@ -1121,6 +1121,58 @@
|
||||
</summary>
|
||||
<returns>The saved string.</returns>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
<param name="throwError">true to throw Error if class name exists, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.Boolean)">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="T:HtmlAgilityPack.HtmlNodeCollection">
|
||||
<summary>
|
||||
Represents a combined list and collection of HTML nodes.
|
||||
@@ -1121,6 +1121,58 @@
|
||||
</summary>
|
||||
<returns>The saved string.</returns>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
<param name="throwError">true to throw Error if class name exists, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.Boolean)">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="T:HtmlAgilityPack.HtmlNodeCollection">
|
||||
<summary>
|
||||
Represents a combined list and collection of HTML nodes.
|
||||
Binary file not shown.
@@ -1121,6 +1121,58 @@
|
||||
</summary>
|
||||
<returns>The saved string.</returns>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
<param name="throwError">true to throw Error if class name exists, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.Boolean)">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="T:HtmlAgilityPack.HtmlNodeCollection">
|
||||
<summary>
|
||||
Represents a combined list and collection of HTML nodes.
|
||||
Binary file not shown.
Binary file not shown.
@@ -655,6 +655,58 @@
|
||||
</summary>
|
||||
<returns>The saved string.</returns>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
<param name="throwError">true to throw Error if class name exists, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.Boolean)">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="P:HtmlAgilityPack.HtmlNode.Attributes">
|
||||
<summary>
|
||||
Gets the collection of HTML attributes for this node. May not be null.
|
||||
BIN
packages/HtmlAgilityPack.1.5.0-beta9/lib/netstandard1.3/HtmlAgilityPack.NETStandard1_3.dll
vendored
Normal file
BIN
packages/HtmlAgilityPack.1.5.0-beta9/lib/netstandard1.3/HtmlAgilityPack.NETStandard1_3.dll
vendored
Normal file
Binary file not shown.
BIN
packages/HtmlAgilityPack.1.5.0-beta9/lib/netstandard1.6/HtmlAgilityPack.dll
vendored
Normal file
BIN
packages/HtmlAgilityPack.1.5.0-beta9/lib/netstandard1.6/HtmlAgilityPack.dll
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1256,6 +1256,58 @@
|
||||
</summary>
|
||||
<returns>The saved string.</returns>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.AddClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Adds one or more classes to this node.
|
||||
</summary>
|
||||
<param name="name">The node list to add. May not be null.</param>
|
||||
<param name="throwError">true to throw Error if class name exists, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.Boolean)">
|
||||
<summary>
|
||||
Removes the class attribute from the node.
|
||||
</summary>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.RemoveClass(System.String,System.Boolean)">
|
||||
<summary>
|
||||
Removes the specified class from the node.
|
||||
</summary>
|
||||
<param name="name">The class being removed. May not be <c>null</c>.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.ReplaceClass(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
Replaces the class name oldClass with newClass name.
|
||||
</summary>
|
||||
<param name="newClass">The new class name.</param>
|
||||
<param name="oldClass">The class being replaced.</param>
|
||||
<param name="throwError">true to throw Error if class name doesn't exist, false otherwise.</param>
|
||||
</member>
|
||||
<member name="M:HtmlAgilityPack.HtmlNode.CreateNavigator">
|
||||
<summary>
|
||||
Creates a new XPathNavigator object for navigating this HTML node.
|
||||
BIN
packages/HtmlAgilityPack.1.5.0-beta9/lib/sl5/HtmlAgilityPack.dll
Normal file
BIN
packages/HtmlAgilityPack.1.5.0-beta9/lib/sl5/HtmlAgilityPack.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user