Commit graph

155 commits

Author SHA1 Message Date
Łukasz Domeradzki
2aab56b775
Rewrite SendMessage() functions to account for new rate-limits (#2335)
* Rewrite SendMessage() functions to account for new rate-limits

* Refactor new message splitting logic into SteamChatMessage.cs

This makes it ready for unit tests

* Change the concept into UTF8-oriented logic

* Misc

* Add fix for another unit test

* Update

* Fix failing test

I SPENT HOURS ON THIS

* Misc

* Misc

* Add additional unit tests ensuring this works as designed

* Misc

* Misc

* Add one more unit test

* Rework the logic to account for new findings

* Misc

* Add unit test verifying exception on too long prefix

* Address first @Abrynos concern

Because we can

* Throw also on too long prefix in regards to newlines

* Correct wrong bytesRead calculation

This worked previously only because we actually never had enough of room for escaped chars anyway and skipped over (2 + 2 missing bytes was smaller than 5 required to make a line)

* Add unit test verifying if calculation was done properly

* Address @Ryzhehvost concern

* Handle empty newlines in the message properly

* Misc

No reason to even calculate utf8 bytes for empty lines

* Misc

* Add unit test verifying the reserved escape message bytes count

* Correct calculation of lines by taking into account \r

* Update ArchiSteamFarm/Steam/Bot.cs

Co-authored-by: Sebastian Göls <6608231+Abrynos@users.noreply.github.com>

* @Abrynos next time check if it compiles without warnings

* Update SteamChatMessage.cs

* Apply @Abrynos idea in a different way

* Rewrite bot part to remove unnecessary delegate

* Add @Ryzhehvost test

* Add debug output

* Extend @Ryzhehvost test for prefix

* Misc

* Misc refactor

* Misc

* Misc

* Add logic for limited accounts, correct for unlimited

Thanks @Ryzhehvost

* Misc

Co-authored-by: Sebastian Göls <6608231+Abrynos@users.noreply.github.com>
2021-06-18 19:50:14 +02:00
Archi
05d45bb8cd
Misc 2021-06-14 00:32:23 +02:00
JustArchi
b069bd3ecc Remove packages lock
Maybe it'd be a nice feature if it worked for once
2021-05-09 02:07:45 +02:00
JustArchi
33643bcaf2 CI: Add support for lock files 2021-05-09 01:57:49 +02:00
JustArchi
d21d2473fe RuntimeCompatibility -> Compatibility 2021-05-08 01:43:08 +02:00
JustArchi
e60b54e402 Refactor EVERYTHING
Directories structure + namespaces relevant to them
2021-05-08 01:37:22 +02:00
JustArchi
aed11c59ee Cleanup round 2021-05-06 20:44:17 +02:00
JustArchi
b6772b9b1e Resolve CA1034 2021-05-06 20:16:06 +02:00
JustArchi
dfffc3384b More code inspections! 2021-05-06 17:14:03 +02:00
Łukasz Domeradzki
0808a38f48
Manage package versions centrally (#2317)
Closes #2316

The issue we're facing right now comes from the fact of desynchronization of packages between different projects. Since I didn't find any way to "fix" the package versions of our plugins to the main ASF project, we'll instead use centralized Directory.packages.props which specifies appropriate versions
2021-05-02 14:51:08 +02:00
JustArchi
efec44e593 R# code improvements & cleanups 2021-04-11 00:33:32 +02:00
dependabot-preview[bot]
de8a83347e Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.9.1 to 16.9.4.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.9.1...v16.9.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-02 01:23:25 +00:00
dependabot-preview[bot]
f6fce273cf Bump MSTest.TestFramework from 2.2.2 to 2.2.3
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.2.2...v2.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-16 15:02:51 +00:00
dependabot-preview[bot]
f5e1a1ce20 Bump MSTest.TestAdapter from 2.2.2 to 2.2.3
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.2.2...v2.2.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-16 14:13:45 +00:00
dependabot-preview[bot]
876664d5fe Bump MSTest.TestAdapter from 2.2.1 to 2.2.2
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.2.1...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-16 01:53:33 +00:00
dependabot-preview[bot]
e037ac885c Bump MSTest.TestFramework from 2.2.1 to 2.2.2
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.2.1...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-16 00:51:39 +00:00
dependabot-preview[bot]
cfa8b61f31 Bump ConfigureAwaitChecker.Analyzer from 4.0.0 to 5.0.0
Bumps [ConfigureAwaitChecker.Analyzer](https://github.com/cincuranet/ConfigureAwaitChecker) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/cincuranet/ConfigureAwaitChecker/releases)
- [Commits](https://github.com/cincuranet/ConfigureAwaitChecker/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-14 14:33:26 +00:00
dependabot-preview[bot]
ff3d48340f Bump MSTest.TestFramework from 2.1.2 to 2.2.1
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-02 01:58:25 +00:00
dependabot-preview[bot]
42f09e0d81 Bump MSTest.TestAdapter from 2.1.2 to 2.2.1
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.2 to 2.2.1.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.1.2...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-02 00:55:05 +00:00
dependabot-preview[bot]
b273fcd2e8 Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.3 to 16.9.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.8.3...v16.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-23 14:19:47 +00:00
Sebastian Göls
b8fe02e2b6
Limit full set trades (#2133)
* Limit items to send when looting full sets

* Add test for item limit when looting full sets

* Fix small mistakes

* Change another type to byte

* And another one

* Add test to verify that the amount of appIDs does not matter in limiting the amount of items

* Add maxItems parameter to GetFullItemSets

* Test for exception with too small parameter value

* Let's get the finishing touches on that PR :'<,'>s/byte/ushort/g

* Use named const instead of hard-coded magic number

* Fix the last remaining typecast (hopefully)

* Send as many sets as possible and Add test for this and Check values of amountsToExtract as it is part of the public API

* Remove check for minimum items per set. Plugins could still use this with smaller sets on non-steam items

* Correct force of habit to match the projects code-style
2021-01-18 14:58:25 +01:00
JustArchi
45a5fec95a Happy 2021
And let's hope it'll be better than 2020
2021-01-03 22:24:22 +01:00
dependabot-preview[bot]
a9080ba01a Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.8.0 to 16.8.3.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.8.0...v16.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 23:34:29 +00:00
JustArchi
d9e3496e5e Optimize csprojs and STD plugin publishing
thanks to @Vital7 for the idea
2020-11-21 18:09:05 +01:00
JustArchi
a90b49ecd8 Correct tests 2020-11-14 22:41:02 +01:00
JustArchi
e82560259b Final code cleanup 2020-11-14 22:37:00 +01:00
dependabot-preview[bot]
2be4a43425 Bump Microsoft.NET.Test.Sdk from 16.7.1 to 16.8.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.7.1 to 16.8.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.7.1...v16.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 21:06:14 +00:00
JustArchi
25e549b7e2 Code cleanup after #2004 2020-10-21 18:48:13 +02:00
Sebastian Göls
1f8b68f5ee
Implement #852 (#2004)
* Update Actions.cs, Bot.cs, and BotConfig.cs

* First round of refactoring

* Check all badge pages

* Update Bot.cs

* Make sure multiple pages of badges work with foil badges and Make item selection algorithm work with all kinds of amount values we could get from Valve

* Change order of params in Actions.SendInventory(...), Cache amount of cards for game ids, Count card elements on page when fetching card count per game, Calculate items to send for all games in parallel

* Add unit tests

* Make sure only one real app id and one asset type are present while computing cards to send and Test it

* Update ArchiWebHandler.cs

* Update Bot.cs

* Fix iteration over badge pages

* Update Bot.cs

* Make stackable item stacks smaller if possible

* Simplify code based on changing stack size of stackable items and Adapt tests

* Consider only cards of the same rarity to be of one set and Add handling of already crafted level 5 badges

* Implement feedback

* Update Bot.cs

* Update Bot.cs

* Implement feedback from review

* Adapt tests

* Improve XPath efficiency

* Check real result for additional values in unit tests

* Implement feedback

* Add additional test combining classID, type and rarity

* Make collections readonly wherever you can

* Optimize misc. code and Add SetTypesToComplete to BotConfig

* Throw exception if we have more card types than cards per set

* Remove SendSetsOnCompleted and Make CompleteTypesToSend empty per default

* Fix existing unit tests and add new ones due to new exception

* Please nitpicky Archi

* Update Bot.cs

* Change expected exception type

* Make appID constants local

* Update Bot.cs and BotConfig.cs

* Do as JetBrains Rider says

* Only fetch card count for badge if we have cards for it

* Improve naming and fix handling of URIs for foil badges

* Add Bot.LoadCardsPerSet(...), Bot.GetItemsForFullSets(...) and Trading.GetInventorySets(...) to public API

* Let AWH do its job

* Make Bot.GetPossiblyCompletedBadgeAppIDs() part of public API as well
2020-10-21 18:41:20 +02:00
JustArchi
6764313f66 Misc 2020-09-19 01:49:00 +02:00
dependabot-preview[bot]
2cc6b1af11 Bump Microsoft.NET.Test.Sdk from 16.7.0 to 16.7.1
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.7.0 to 16.7.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.7.0...v16.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 01:29:28 +00:00
JustArchi
06b1b8deeb Misc trade logging enhancements 2020-08-11 11:34:32 +02:00
dependabot-preview[bot]
e7195b0e68 Bump Microsoft.NET.Test.Sdk from 16.6.1 to 16.7.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.6.1 to 16.7.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.6.1...v16.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:34:46 +00:00
dependabot-preview[bot]
04afb5b891 Bump MSTest.TestFramework from 2.1.1 to 2.1.2
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.1.1...v2.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 12:16:16 +00:00
dependabot-preview[bot]
a7442e61b1 Bump MSTest.TestAdapter from 2.1.1 to 2.1.2
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.1.1...v2.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-08 11:53:38 +00:00
JustArchi
80daf47f60 Unify common ASF csproj properties under Directory.Build.props 2020-05-23 20:11:31 +02:00
dependabot-preview[bot]
b1a54fe9db Bump Microsoft.NET.Test.Sdk from 16.6.0 to 16.6.1
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.6.0 to 16.6.1.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.6.0...v16.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 10:16:09 +00:00
dependabot-preview[bot]
6e42d213df Bump Microsoft.NET.Test.Sdk from 16.5.0 to 16.6.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.5.0 to 16.6.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.5.0...v16.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 01:22:15 +00:00
JustArchi
df8044ba74 Use RollForward policy 2020-04-18 15:23:07 +02:00
JustArchi
1e87341877 Small cleanup 2020-04-02 17:16:05 +02:00
dependabot-preview[bot]
b4de9179a1 Bump MSTest.TestFramework from 2.1.0 to 2.1.1
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.1.0...v2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-02 01:26:06 +00:00
dependabot-preview[bot]
7e271986c7 Bump MSTest.TestAdapter from 2.1.0 to 2.1.1
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.1.0...v2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 09:23:16 +00:00
JustArchi
2ac5a9c5f9 Actually expose tags in Asset
@Vital7 you forgot about this too 😀
2020-03-05 23:57:51 +01:00
JustArchi
c38ce811f8 Add AssetID as the last missing property to parse in active trade offers 2020-03-05 22:59:11 +01:00
JustArchi
0ed5092e97 Add missing parsing of descriptions in active trade offers
@Vital7 you completely broke that part, since you've removed parsing of tags without adding any new logic for them, good thing R# started suggesting me to convert those 3 tags-generated properties to const :bite:
2020-03-05 21:28:10 +01:00
dependabot-preview[bot]
d1ed423d10 Bump Microsoft.NET.Test.Sdk from 16.4.0 to 16.5.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.4.0 to 16.5.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.4.0...v16.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-05 08:56:07 +00:00
dependabot-preview[bot]
0d157a9bc4 Bump MSTest.TestAdapter from 2.0.0 to 2.1.0
Bumps [MSTest.TestAdapter](https://github.com/microsoft/testfx) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.0.0...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 12:00:30 +00:00
dependabot-preview[bot]
7de88c251f Bump MSTest.TestFramework from 2.0.0 to 2.1.0
Bumps [MSTest.TestFramework](https://github.com/microsoft/testfx) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/microsoft/testfx/releases)
- [Commits](https://github.com/microsoft/testfx/compare/v2.0.0...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 11:39:23 +00:00
Łukasz Domeradzki
09234a3db3
Update ArchiSteamFarm.Tests.csproj 2020-02-02 14:08:01 +01:00
JustArchi
0370168b02 Happy new year 2020-02-01 23:33:35 +01:00