mninc / tf2-trade-bot

This is a steam trade bot that trades TF2 items, automatically! Easy to setup, for non-developers!
https://zwork101.github.io/tf2-trade-bot/
MIT License
3 stars 0 forks source link

Request, and bugs report. #24

Open JetPony opened 6 years ago

JetPony commented 6 years ago

Sorry for bad english, not my language.

bug 1. For some reason sometimes bot rejects trade who have metal change. For example. Someone is selling to bot item for 10.11 ref. The seller sees that the bot has run out scrap and rec, and instead of 10.11 ref he takes 11 ref, and adds 0.88 ref for his item as change. In the ordinary situation, this is absolutely good deal and should be accepted. But the bot rejects such a trade as the wrong price. However, in situations where change only 1 scrap or 1 rec bot accepts. Something is more complicated than this, the bot rejects. I do not know exactly why and how this is happening, but it happens.

bug 2. Bot does not see a difference between regular trade and 15 days withholding trade. (For new Steam users, who have not installed mobile phone protection.) So the bot accepts any 15 days hold trade who have the right price. I understand that any profitable trade is a good trade, but in the case of 15 days hold, it is wrong. For example. I have 100 ref, as a good trader, I can turn these 100 ref into 200 ref less than 3 days. However, if these 100 ref got into 15 days hold trade, I can not do anything, and I can not get any profit. these 100 refs are simply frozen. So the bot should be learned to see the difference between regular trade and 15 days hold trade. And for users who want to accept such trades, in "settings.json" you can add an option, enable or disable 15 days hold trade. Аnd enable or disable 15 days hold gift trade. In case if someone sends a gift with 15 days hold trade. (sometimes it happens)

bug 3. Bot does not see a difference between uncraftable and craftable items. Some uncraftable and craftable items have a big difference in price. And because the bot does not see the difference between them. this can be exploit. someone can buy cheap uncraftable items and sell them to the bot in price as craftable items. Or something similar. So the bot should be learned to see the difference between uncraftable and craftable items. And in "trade.csv" user could set a price for uncraftable and craftable items separately. for example: \ Backpack Expander, 0.0.16.0.0, buy Non-Craftable Backpack Expander, 0.0.13.0.0, buy \ or something similar.

These are all the bugs that I found. I would be happy if they would been fix in the near future. Next will go a Request that I would be happy to see in future bot update. but they are not so important as bugs.

Request 1. Please add a variable "Do not cancel the trade with unknown items" in "settings.json" For example. If someone buys a key and put the wrong number of ref or nothing, this obviously should be rejected. But if someone put unknown items? who knows, maybe this is a profitable trade. Of course, trade like this, will have to be checked by the user himself. But, this is better than if the bot will be reject all such a trades. of course this can be turned on or off,

Request 2. Please add the possibility to set a limit for buying items. for example. in "trade.csv" \ Mann Co. Supply Crate Key, 0.0.38.0.0, buy (limit, 10) \ Where (limit, 10) means that the bot will stop buying these items when their number in the backpack <= 10. or something similar. limit for sell items, it's necessary.

Request 3. Please add a trade history. I know that a trade history can be check in Steam. But this section loads forever and super lag. Also the whole trade history is in the "trade.log" but there is literally everything (every bot tick.) after a day of work, i can not even check "trade.log" too much text inside. It would be nice if the bot recorded all processed trade in a separate text file. When creating a new text file, every time it "bot.py" starts. That would be enough.

Request 4. Please make a different colors for processing trade in the program console. When the trade is accepted. line "Looks good" make green. When the trade is rejected. line "Not good" make red. And When the trade is ignored. (if yu add a variable "Do not cancel the trade with unknown items") line "Unknown items" make yellow. I know that this is not important. But it be nice. =)

                                                      From me.

Thanks for creating this bot. I just started learning programming and do not know much. But your bot is the easiest to install and completely cantrols all config. Best bot. I sent a little donate on your Steam. I hope the bot will be evolve and gets better. If so, I will not forget it. Thank you for your time.

Zwork101 commented 6 years ago

Wow, thank you for the great ideas! Unfortunately alot of those bugs are well known. However, I have decided to completely scrap this old bot, and I'm working on a new one right now! You can check it out on my GitHub profile. It doesn't work atm, but when my computer is fixed, I'll be sure to get working right away!

Zwork101 commented 6 years ago

Most of the stuff you asked, will be in the new version, and all of those bugs will be fixed. The only request I will not add is colors. This is because adding colors is tricky, and unreliable as it changes per operating system. One thing that you can change that will fix your "do not decline trades with unknown items", is to add a secret setting in the settings.json. Add "decline_trades":0 to the end of the settings, and make sure to add a comma to the end of the previous setting! You can use https://jsonlint.com/ to make sure it's valid.

JetPony commented 6 years ago

Thank you, it's nice to know all this. I know about "decline_trades":0, But i get about 20 trades per day where people just beg something for free. Check it all this every day, already has become annoying. I'll wait for a new bot. Maybe this one is not perfect, but really good.

JetPony commented 6 years ago

I sent you a little more donate on your Steam. Come on, finished "tf2-trade-bot 2" already. I like have already about 250-300 ref frozen on trade hold, Because the bot accepts trade hold trade. This thing needs to be fixed. If you want more donate, yu need finished "tf2-trade-bot 2".

Zwork101 commented 6 years ago

Thanks! I defiantly will, simply waiting for the trade hold on my bot to end, and I will defiantly look into that.

JetPony commented 6 years ago

Today i got a strange exploit trade from scammer. look at this. https://ibb.co/ecGzpG In "trade.csv" price for sale Mannrobics 1 key 6.33 ref. "Taunt: Mannrobics, 0.1.6.1.0, sell" and I do not buy any skins weapons at all. price for "Civil Servant Mk.II Panic Attack (Factory New)" only 2 scarap. But for strange reasons the bot accepted trade. I get similar trades quite often, this is usually normal. But usually the bot copes with them, and does not make mistakes. but in the moment when I noticed this the bot just became crazy in the console. parts of the code flying like a mad in the console so quickly that it was impossible to read. Obviously the bot got on error and got stuck in the loop. I noticed that this can be happens after 10-12 hours of operation without rebooting bot. And if this happens, trade can be accepted by mistake. I do not think that this user knows some exploits, he was just lucky to spam scamm trade at this very moment. But to prevent this happening in the future, I think you need to add automatic reboot of the bot after 30 minutes of work. I wll solve this problem using simple "AutoHotkey" code, make the bot reboot every hour. That's all I can do at the moment. I'll let you know if I again get such an exploit after that. This 1 key could be donate for you, but the scammer took it. =) Come on man, do not be so lazy as me. Scammer steam ID. 76561198327138909 I do not know, maybe you need it.

Zwork101 commented 6 years ago

You can report them to bp.tf for the scam, I'm sorry this happened. I would restart every 3 hours, and steam rate limits logins harshly. I used to it restart it's self, however that lead to it consuming a lot of memory. I'll try to implement a way too restart correctly in the new version.

JetPony commented 6 years ago

Your bot is taking the item for item trade? I gеt this. https://ibb.co/gzxFr6 You did not say anything about that your bot processes such a trade. I buy and sell both of these taunts and one is more expensive than the other, so that the bot accepted the trade. Is this how it should be or is it a error? If this is not a error, you should have left a note about it that the bot can take item for item trade. I did not see this information and thought that the bot only works with keys and ref. I do not say that it's bad, just would be nice to know about this. And yes, the bot accepted the trade for 15 days delay. I can not wait for next version, how is progress going by the way?

Zwork101 commented 6 years ago

I'm sorry it's doing that, that's not intentional. Midterms are over, so I've started work on the bot. In addition, I have a much better way to check for escrow now.

JetPony commented 6 years ago

Seriously WTF?! Seriously WTF? Seriously wtf is wrong with your bot? What is this? What is this? I dont know what is this?! https://ibb.co/j1htk7 I just woke up, restarted the computer and started the bot. left to make myself a coffee. The bot was freshly launched and worked for a minute, and this happened. Bot just said. "Found a trade. ID. Check for bp tf." And instantly accepted a fukin trade. Almost 11 keys for 3 weapons, for a person who also has a fresh VAC ban. How the fuck did it happen? I do not know what to do now. I can not trust your bots at all. link to the scam profile. http://steamcommunity.com/id/aakashpatel1995

ZeusJunior commented 6 years ago

In case he changes his custom ID: http://steamcommunity.com/profiles/76561198143435580 Damn dude, that sucks... Did you use trade-bot-1 or this one: https://github.com/Zwork101/tf2-trade-bot-2 ?

JetPony commented 6 years ago

I use trade-bot-1. Is bot 2 already ready and working? There the description is empty, I thought it was just a not compiled code.

Zwork101 commented 6 years ago

The main functionality of tf2-trade-bot-2 is complete, however other features are still in progress, such as bp.tf listings, and stock might be working, I'd have to check again. Otherwise, it can do everything bot-1 can do, and more (checks for unusual effect and craft-ability). If you need help installing, join my discord and I can help explain. The discord link is in the README, or my steam page.

poespas commented 6 years ago

@JetPony Can you allaborate a bit more on what exactly happened? (logs, etc) so we can narrow down and fix what happened

JetPony commented 6 years ago

Well, I tried to download "trade.log" but this file is so big, even the browser after 15 minutes said. "not enough memory" I have not deleted this file since installation. and inside him recorded every 10 seconds bot tact, for 3 months of work. I do not think it's possible, download "trade.log" and see what happened. But seriously nothing special. Bot just said "Found trade. ID. Check for bp tf". 2 times, and that's all. Anyway, In any case, I recommend everyone to keep. "decline_trades": 1, always. This happened only when "decline_trades": 0, "as in me case. But in fact, I do not know, because you can`t load "trade.log" and see what kind of trade the bot did while you ar sleeping. And you can not load the trade history in the steam, because Steam gives you a dick. You really do not know what kind of deal the bot did until you not watch.

Zwork101 commented 6 years ago

Interesting, yes, I think when decline_trades is 0, bad stuff happens. Also, I do suggest deleting the log everyone once in a while. For now, if you still want to see what it says, you can use this editor

Zwork101 commented 6 years ago

I deleted your message because it contained your steam API key. I suggest filtering it out before sharing.

JetPony commented 6 years ago

forgot about it. but I do not think it's so serious. Deleted API key. logs. Maybe it will help

> 3:43:06 PM][DEBUG][root]: (STEP 2 COMPLETE)
> [03/07/2018 03:43:06 PM][DEBUG][root]: (STEP 3 COMPLETE)
> [03/07/2018 03:43:06 PM][DEBUG][root]: (STEP 4 COMPLETE)
> [03/07/2018 03:43:06 PM][DEBUG][root]: (STEP 5 COMPLETE)
> [03/07/2018 03:43:16 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:43:17 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffers/v1?key="em apikey &get_sent_offers=1&get_received_offers=1&get_descriptions=1&language=english&active_only=1&historical_only=0&time_historical_cutoff= HTTP/1.1" 200 7318
> [03/07/2018 03:43:17 PM][INFO][root]: FOUND NEW TRADE: 3052148229
> [03/07/2018 03:43:17 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): backpack.tf
> [03/07/2018 03:43:18 PM][DEBUG][urllib3.connectionpool]: https://backpack.tf:443 "GET /api/users/info/v1 HTTP/1.1" 200 None
> [03/07/2018 03:43:18 PM][DEBUG][root]: {'users': {'76561198143435580': {'name': 'BObO bAck In GAME', 'avatar': 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/be/be503fbc75faf4b24bc561113a0fb04cc91f3b31_medium.jpg', 'bans': {'valve': {'vac': 1}}, 'inventory': {'440': {'metal': 0, 'keys': 0, 'slots': {'used': 0, 'total': 0}}}}}}
> [03/07/2018 03:43:18 PM][DEBUG][root]: (STEP 1 COMPLETE)
> [03/07/2018 03:43:18 PM][INFO][root]: DECLINING TRADE WITH UN-KNOWN ITEM
> [03/07/2018 03:43:18 PM][DEBUG][root]: (STEP 2 COMPLETE)
> [03/07/2018 03:43:18 PM][DEBUG][root]: (STEP 3 COMPLETE)
> [03/07/2018 03:43:18 PM][DEBUG][root]: (STEP 4 COMPLETE)
> [03/07/2018 03:43:18 PM][DEBUG][root]: (STEP 5 COMPLETE)
> [03/07/2018 03:43:28 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:43:28 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffers/v1?key=apikey&get_sent_offers=1&get_received_offers=1&get_descriptions=1&language=english&active_only=1&historical_only=0&time_historical_cutoff= HTTP/1.1" 200 7282
> [03/07/2018 03:43:28 PM][INFO][root]: FOUND NEW TRADE: 3052148229
> [03/07/2018 03:43:28 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): backpack.tf
> [03/07/2018 03:43:29 PM][DEBUG][urllib3.connectionpool]: https://backpack.tf:443 "GET /api/users/info/v1 HTTP/1.1" 200 None
> [03/07/2018 03:43:29 PM][DEBUG][root]: {'users': {'76561198143435580': {'name': 'BObO bAck In GAME', 'avatar': 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/be/be503fbc75faf4b24bc561113a0fb04cc91f3b31_medium.jpg', 'bans': {'valve': {'vac': 1}}, 'inventory': {'440': {'metal': 0, 'keys': 0, 'slots': {'used': 0, 'total': 0}}}}}}
> [03/07/2018 03:43:29 PM][DEBUG][root]: (STEP 1 COMPLETE)
> [03/07/2018 03:43:29 PM][INFO][root]: DECLINING TRADE WITH UN-KNOWN ITEM
> [03/07/2018 03:43:29 PM][DEBUG][root]: (STEP 2 COMPLETE)
> [03/07/2018 03:43:29 PM][DEBUG][root]: (STEP 3 COMPLETE)
> [03/07/2018 03:43:29 PM][DEBUG][root]: (STEP 4 COMPLETE)
> [03/07/2018 03:43:29 PM][DEBUG][root]: (STEP 5 COMPLETE)
> [03/07/2018 03:43:39 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:43:40 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffers/v1?key=apikey&get_sent_offers=1&get_received_offers=1&get_descriptions=1&language=english&active_only=1&historical_only=0&time_historical_cutoff= HTTP/1.1" 200 1662
> [03/07/2018 03:43:40 PM][INFO][root]: FOUND NEW TRADE: 3052148229
> [03/07/2018 03:43:40 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): backpack.tf
> [03/07/2018 03:43:40 PM][DEBUG][urllib3.connectionpool]: https://backpack.tf:443 "GET /api/users/info/v1 HTTP/1.1" 200 None
> [03/07/2018 03:43:40 PM][DEBUG][root]: {'users': {'76561198143435580': {'name': 'BObO bAck In GAME', 'avatar': 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/be/be503fbc75faf4b24bc561113a0fb04cc91f3b31_medium.jpg', 'bans': {'valve': {'vac': 1}}, 'inventory': {'440': {'metal': 0, 'keys': 0, 'slots': {'used': 0, 'total': 0}}}}}}
> [03/07/2018 03:43:40 PM][DEBUG][root]: (STEP 1 COMPLETE)
> [03/07/2018 03:43:40 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:43:41 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffer/v1?key=apikey&tradeofferid=3052148229&language=english HTTP/1.1" 200 981
> [03/07/2018 03:43:41 PM][DEBUG][urllib3.connectionpool]: Resetting dropped connection: steamcommunity.com
> [03/07/2018 03:43:42 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "GET /tradeoffer/3052148229 HTTP/1.1" 302 0
> [03/07/2018 03:43:42 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "GET /market/eligibilitycheck/?goto=%2Ftradeoffer%2F3052148229 HTTP/1.1" 302 0
> [03/07/2018 03:43:42 PM][DEBUG][urllib3.connectionpool]: Starting new HTTP connection (1): steamcommunity.com
> [03/07/2018 03:43:43 PM][DEBUG][urllib3.connectionpool]: http://steamcommunity.com:80 "GET /tradeoffer/3052148229 HTTP/1.1" 302 0
> [03/07/2018 03:43:44 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "GET /tradeoffer/3052148229 HTTP/1.1" 200 9859
> [03/07/2018 03:43:45 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "POST /tradeoffer/3052148229/accept HTTP/1.1" 200 108
> [03/07/2018 03:43:46 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "GET /mobileconf/conf?p=android%3Ae8bbfe29-d062-e05f-b4d8-91ff37a12b71&a=76561198077365294&k=zm3NCFadD7qT67WBNzIeCz%2FwgKg%3D&t=1520423025&m=android&tag=conf HTTP/1.1" 200 6902
> [03/07/2018 03:43:47 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "GET /mobileconf/details/4529631822?p=android%3Ae8bbfe29-d062-e05f-b4d8-91ff37a12b71&a=76561198077365294&k=GL31abOjOfK%2F8VPqz3bktTwSVDU%3D&t=1520423026&m=android&tag=details4529631822 HTTP/1.1" 200 34904
> [03/07/2018 03:44:19 PM][DEBUG][urllib3.connectionpool]: https://steamcommunity.com:443 "GET /mobileconf/ajaxop?p=android%3Ae8bbfe29-d062-e05f-b4d8-91ff37a12b71&a=76561198077365294&k=GME%2F7pQfTmAX77igNKB73TfAb8A%3D&t=1520423027&m=android&tag=allow&op=allow&cid=4529631822&ck=4925325745856832895 HTTP/1.1" 200 16
> [03/07/2018 03:44:19 PM][DEBUG][root]: (STEP 2 COMPLETE)
> [03/07/2018 03:44:19 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:44:20 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffer/v1?key=apikey&tradeofferid=3052148229&language=english HTTP/1.1" 200 1001
> [03/07/2018 03:44:20 PM][DEBUG][root]: (STEP 3 COMPLETE)
> [03/07/2018 03:44:20 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:44:20 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffer/v1?key=apikey&tradeofferid=3052148229&language=english HTTP/1.1" 200 1001
> [03/07/2018 03:44:20 PM][INFO][root]: TRADE 3052148229 WAS ACCEPTED
> [03/07/2018 03:44:20 PM][DEBUG][root]: (STEP 4 COMPLETE)
> [03/07/2018 03:44:20 PM][DEBUG][root]: (STEP 5 COMPLETE)
> [03/07/2018 03:44:30 PM][DEBUG][urllib3.connectionpool]: Starting new HTTPS connection (1): api.steampowered.com
> [03/07/2018 03:44:31 PM][DEBUG][urllib3.connectionpool]: https://api.steampowered.com:443 "GET /IEconService/GetTradeOffers/v1?key=apikey&get_sent_offers=1&get_received_offers=1&get_descriptions=1&language=english&active_only=1&historical_only=0&time_historical_cutoff= HTTP/1.1" 200 2339
> [03/07/2018 03:44:31 PM][DEBUG][root]: (STEP 1 COMPLETE)
> [03/07/2018 03:44:31 PM][DEBUG][root]: (STEP 2 COMPLETE)
> [03/07/2018 03:44:31 PM][DEBUG][root]: (STEP 3 COMPLETE)
> [03/07/2018 03:44:31 PM][DEBUG][root]: (STEP 4 COMPLETE)
> [03/07/2018 03:44:31 PM][DEBUG][root]: (STEP 5 COMPLETE)
Zwork101 commented 6 years ago

Yeah, setting it to not decline appears to be the issue. If your not going to switch to the second version of the bot, I suggest turning on decline offers.

JetPony commented 6 years ago

In the new version of the bot, it's safe to stay in "decline_trades": 0.? I suppose it has not been tested much yet.

poespas commented 6 years ago

I hope so, if there's a chance the bot will fail, it has to be fixed. 🤔

JetPony commented 6 years ago

No matter what i do, I can not figure out how to make trade-bot-2 work. I need instructions, so i can at least start testing him.

Zwork101 commented 6 years ago

Please join the discord server, we would love to help you there.

Zwork101 commented 6 years ago

https://discord.gg/XQxN3T5

JetPony commented 6 years ago

And I remind you that i do not know English. I use Google translator to speak or understand what you are saying. it is possible on discord?

Zwork101 commented 6 years ago

I mean, sure. I'll just have to talk in large messages, so you don't have to constantly translate.