Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bot for increasing badge count of advanced users #47

Open
MavericksNightmare opened this issue Mar 16, 2022 · 3 comments
Open

Bot for increasing badge count of advanced users #47

MavericksNightmare opened this issue Mar 16, 2022 · 3 comments

Comments

@MavericksNightmare
Copy link

First and foremost: Thank you very much for investing your time to provide this bot software to us!

I would like to operate a bot targeted at increasing badge count for advanced users rather than level. It should sell rare sets for gems only. No keys, no ref.

Unfortunately, many features required for a bot like this are even currently not supported or there are issues with them:

  1. I tried to disable selling sets for keys completely by setting buytf2_enable etc. to false and commenting out all keys from lists like TF2KEY in the config. Unfortunately, the !check command still shows rates for keys. I therefore set these key rates to very unattractive values (e.g. 2 sets for 1 TF2 key) in order to prevent users from buying for keys. This will probably look like a scam attempt to most users now. It would be good if these key rates were not shown any longer by commands like !check or !checkone if key purchases are disabled.

  2. The commands !checkone / !buyonegems are the most important commands for the bot because they are supposed to sell exactly those sets giving the desired progress in badge count. !buyonegems is available in the config but does not seem to be implemented yet. !checkone seems to have issues. It generated the response "There are currently sets from 71 different games, of which you have not crafted 77. This would cost 25.66 keys.". Selling sets for keys is disabled in the config. So there should be a prices in gems only, not in keys. Also, I think the number of 71 sets identified by the !checkone command is much too high. It is very likelly that it includes sets where at least one level has already been crafted and therefore are irrelevant for progress in badge count. But this is hard to tell because the 71 sets found by !checkone cannot be displayed as !buyonegems is not available.

  3. Certain rare sets are not recognized and therefore not sold at all although they are available in the inventory, e.g. Restricted-RPS - Hope Annihilation Arc (appid 364960), Sekwere (appid 501720), Epica (appid 540370). This is also shown in the log.

  4. Typical users interested in buying sets from the bot will already have crafted thousands of badges. Processing "big users" like this takes much longer than at other bots. It cannot be due to downloading the badge data as this takes only few seconds. Maybe it is the matching logic then. Do you maybe apply nested loops for matching the m bot sets against the n user badges (i.e. iterate through all of the n user badges and for each user badge iterate through the m bot sets)? If so, this will matching will require O(m * n) comparisons. It this is actually the case, then it should be possible to speed up the matching for big users a great deal, from O(m * n) to O(m + n) comparisons, by doing it on bot sets / users badges sorted by appid.

@Refloow
Copy link
Owner

Refloow commented Mar 17, 2022

Thanks for reaching out
There is an update currently worked on which would solve most of these issues

Issue 4.

In the upcoming update bots algo for loading high number of sets is rewritten therefor it loads them much faster without any issues delays or crashes. One of the contributors already has pushed an pull request with the algo changes, i still haven't completed other parts of the update

Issue 3.

Sets data is updated ones in a while, ones bot finds cards it has no data about it will place them in missing.txt file which you can use to lookup data and than manually enter it in utils.js file. There are examples inside.

Other

Bot had several updates in which certain parts are improved. Codebase is really big and there are some inconsistencies, thanks for pointing them out, i will make sure to fix that command details in the upcoming update and merged the request.



When will the update get released?

It's been completed 80% or more, I'm still trying to find some time to finish everything, there has been much less demand for it and its not the only thing im working on. So it will be waited for some more time.
I will most likely push more smaller updates which would solve few issues at the time rather than one larger update

Ones again thanks for reaching out, if you want feel free to support the project

- Refloow

@MavericksNightmare
Copy link
Author

Thank you very much for your reply! I completely understand that implementing the bot takes time and effort and am grateful that you invest your time to provide this bot to us.

I am looking forward for the updates and can see you even already published one!

To me, the most important enhancement (once the improvements regarding 4. are completed) would be the !checkone and !buyonegems commands as described under point 2. to give users progress in badge count. This is really core functionality for the bot and would add much value to it.

I also realized in the meantime that there actually may be a fith point:

  1. Selling sets for gems is possible although it is disabled in the config by setting sell_enable to false and GIVE1GEMSFORAMOUNTOFSETSGEMS to 0. Despite of this, the bots sends out a trade offer on a !sellgems 1 command and offers to buy one of the user's sets for one gem. Disabling selling sets completely is also relevant for a bot offering rare sets. If every user can trade in every set he wants, then the bot will not be a bot for rare sets for very long.

@MavericksNightmare
Copy link
Author

Would it be possible to publish an update with the fix of the crashes of issue 4.? Users of the bot are increasingly unhappy with the crashes and leave comments on the bot profile like this:

How am I supposed to buy sets from the bot if it keeps crashing...?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants