Topic: Trading Tool

Finding trades on deckbox kinda sucks so I wrote a tool to help speed up the process.

http://i.imgur.com/atlwIJy.png

Lets say you want to trade for a Black Lotus. This is an unlikely example, but go with it. You usually wind up on this page:

http://deckbox.org/mtg/Black%20Lotus

Holy shit! Two(!) pages of users to click through? What a pain. And you don't even want to trade with anyone outside the United States. Enter DBDC. (I don't even remember what that stands for...)

DBDC gets a card name from you and then sorts through every page of users that has that card on their tradelist. It weeds out non-Americans and hits you with a nice table telling you the user's name, location, and how many of that card they got. Awesome.

So, lets see who will trade us a Black Lotus. Lets try Error121. Just click the Link cell associated with his name and copy-paste that sonofabitch into your browser.

http://deckbox.org/users/Error121

Hmm, looks terrible. He hasn't been online since November, has 0% feedback, and probably doesn't shower. Lets blacklist him. Just open up the associated blacklist.txt and put his username in using your favorite text editor. Boom! You'll never pull his profile again.

http://i.imgur.com/yMmuQzq.png

Send me a note if you want this thing. I still haven't packaged it up nice yet but I should be ready to deliver it next week. Here's some boring notes on the thing:

I wrote it in 5 hours. It doesn't do any error handling so you need to enter card names in perfectly. If you want to search "Fog" you need to enter "Fog". Not "fog", not " Fog", not "fog ", not "FOG" ...

You need Java to run it. Ain't nobody got time to teach you how to install Java so just Google it.

It won't work if you run behind a proxy.

It uses JSoup to sort through deckbox.

It sorts through deckbox very quickly. Don't go crazy with it. Deckbox probably doesn't want to serve 100 pages per second to you and they have every right to block you for using this thing too quickly.

I realize that automatically sorting out non-Americans isn't helpful to most but hey, that's all I've got for now. I tried to query in to each user's profile to sort out local traders, dead accounts, etc. but it was too complicated for a morning project so this it what it do for now.

Leave me some feedback. I could probably make this a heck of a lot more user-friendly over the weekend and any comments you have will help. Thanks!

Oh, the combo box is for changing the sort from "people who have card X" to "people who want card X". The latter isn't implemented yet so both just find users who have card X.

Re: Trading Tool

looks awesome

Re: Trading Tool

I have two versions. smile

Re: Trading Tool

looks awesome!

Re: Trading Tool

Biggest problem I have with the tradelist thing is that most of the users on there are inactive on deckbox or don't trade (and have zero trades).  Any chance the tool could filter out that type of individual?

Re: Trading Tool

jambarama wrote:

Biggest problem I have with the tradelist thing is that most of the users on there are inactive on deckbox or don't trade (and have zero trades).  Any chance the tool could filter out that type of individual?

Yes, that was my original intent when creating this thing. I thought it would be a piece of cake to grab a user's "Last online" date and dump the inactive accounts but it turns out that text isn't a simple grab. When you go to my profile right now, you'll see:

Last seen online:01 Apr 2013, 10:32 AM

But when I pointed the tool towards it, it sees:

<dt>Last seen online:</dt><dd><span id="time_16180"></span><script type="text/javascript">Tcg.utils.userDate('time_16180', 1364826721, '%d %b %Y, %I:%M %p')</script>

Which is a javascript call to get a user's last online date. Right now the tool doesn't speak javascript but I'm sure there is a way to do it. I just don't know enough about it at this time.

In other words, when you see a user's last online date, you see a nice easy-to-read date but my tool sees unfamiliar code.

I can easily filter out local traders, and users without 100% feedback though. Thanks for the suggestion! I'm a bit busy this week but I think I can have those filter options in by this weekend.

Re: Trading Tool

I added the ability to filter out local traders. This feature has an interesting drawback: The tool is very slow now. This is because instead of viewing 1 page per 7 traders found for a card, it now has to visit each trader's profile page to check their "Will trade cards" attribute. That's 8 page viewings per 7 traders found and therefore 8 times slower. I could divide these tasks in to separate threads but that would have a chance of taking Deckbox down.

I'm hesitant to distribute this since I don't want anyone to get in trouble with Deckbox. As more people use the tool, the amount of page views hitting Deckbox rises exponentially.

So, my solution is to add one extra level of annoyance. After you get a table of traders back, you'll be able to click a username you're interested in and it will give you some quick information about them such as when they were last online, what their feedback is, and where they will trade their cards. This slows traffic to Deckbox, and gets the information to you quickly so you can then decide if you want to block them or check out their profile.

TLDR: I'm a noob and still learning how to manipulate internets.

PS: Tested on Windows and Linux and everything works great. Message me if you want this thing.

Re: Trading Tool

The problem I'm running into doing trading is that most people that have cards I want don't want anything that I have and people who want cards that I have don't have anything that I want. sad

I wish there was a way to just get a list of people that do mail trades, have been on recently, and where there are possibilities of a mutual trade from both people.  Heck, setting a min and a max for the dollar value of the best trade that could happen would be great too smile

Re: Trading Tool

skyth wrote:

The problem I'm running into doing trading is that most people that have cards I want don't want anything that I have and people who want cards that I have don't have anything that I want. sad

I wish there was a way to just get a list of people that do mail trades, have been on recently, and where there are possibilities of a mutual trade from both people.  Heck, setting a min and a max for the dollar value of the best trade that could happen would be great too smile

The only solution I can come up with off the top of my head would be to create something that crawled through ~32,000 accounts listed here: http://deckbox.org/users. You would have to recreate the entire Deckbox database so that you could run useful queries on it. It would need a computer running 24/7 to keep it up to date, and it's own website for you to use. At that point, you've pretty much recreated Deckbox but made it better.

What is frustrating is that Deckbox already has this database and doesn't let us do useful searches to find the best available trades. It's hit or miss.

Too Nerd; Didn't Read: We'll have to wait for Deckbox to upgrade their trade system.

Re: Trading Tool

Has someone mocked this up & suggested it as a feature request?  The list on your homepage is a start in that you can see the overlapping quantity of haves/wants, seems like it could be done intelligently, though I'm not sure what it'd look like.

Re: Trading Tool

Yeah, what we need is almost there. (This is going to look terrible)

Paul_KUnited States - Rochester    134    457
Nick    United States - Rochester    103    0
Faisal Rakun    United States - Buffalo    95    1
Shane Kenyon    United States - Canandaigua    89    24
Chelsea    United States - Rochester    43    0
Skuloth    United States - Rochester    36    2
Chris    United States - Rochester    33    0
woodmster123    United States - Rochester    32    0
Ryan    United States - Buffalo    30    2
fairportmagic    United States - Fairport    28    3

Here's what is on all of our home pages more-or-less. It's sorted by how many cards you can get. Paul is at the top of my list because he has 134 cards in his tradelist that are also in my wishlist. Awesome! That's good data I want to see. Nick has 103 cards I want. But I don't have anything he wants so there's nothing really to gain from this information. What am I going to do? Offer him sexual favors? This list should be sorted by the minimum of the two numbers. On my homepage, Paul would receive a rating of 134, the minimum number of cards we both want/have. Nick would get a rating of 0. My collection doesn't interest him. Shane has a rating of 24. etc. The list should be sorted by that number.

Of course, this still sucks because we can only view people that we share groups with like Reddit and Rochester.

It also sucks because in reality, the rating between Paul and I is 0. Paul wants editions of cards I don't have. But that's an entirely different issue. smile

Re: Trading Tool

Paul, that's exactly what it should do. Looks like Decbox's feature request page is enormous so it's unlikely we'll see this any time soon. sad

Re: Trading Tool

The trading tool thing can now search for users that want cards you would like to trade away. This isn't particularly useful for valuable cards. Everyone who plays magic wants your original dual lands so you won't getting anything useful out of that search. I like to use it to see who wants one of my 240 Naturalize cards. I can, at the very least, find people interested in swapping piles of commons/uncommons to increase our unique card counts.

Re: Trading Tool

Thanks for sending me this link our trade.  As we discussed, having the option to search for people who have the Foil (or textless, or promo, or ...) flag set in wishlist/tradelist would save a whole lot of time as well.