Skip to content

Bot for increasing badge count of advanced users #47

@MavericksNightmare

Description

@MavericksNightmare

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions